From b71b3d12ca34fdb17c6a1c25030bf6d9d5df810e Mon Sep 17 00:00:00 2001
From: DerGrumpf
Date: Thu, 20 Mar 2025 12:35:13 +0100
Subject: [PATCH] Changed: DB Params
---
.gitignore | 0
README.md | 7 +
assets/css/colors.css | 9 +
assets/css/grid_layout.css | 36 +
assets/css/style.css | 319 +
assets/fonts/.gitignore | 0
assets/fonts/lato/Lato-Black.ttf | Bin 0 -> 69500 bytes
assets/fonts/lato/Lato-BlackItalic.ttf | Bin 0 -> 72000 bytes
assets/fonts/lato/Lato-Bold.ttf | Bin 0 -> 73332 bytes
assets/fonts/lato/Lato-BoldItalic.ttf | Bin 0 -> 77732 bytes
assets/fonts/lato/Lato-Italic.ttf | Bin 0 -> 75792 bytes
assets/fonts/lato/Lato-Light.ttf | Bin 0 -> 77208 bytes
assets/fonts/lato/Lato-LightItalic.ttf | Bin 0 -> 49080 bytes
assets/fonts/lato/Lato-Regular.ttf | Bin 0 -> 75152 bytes
assets/fonts/lato/Lato-Thin.ttf | Bin 0 -> 69976 bytes
assets/fonts/lato/Lato-ThinItalic.ttf | Bin 0 -> 48864 bytes
assets/fonts/lato/MPLUSRounded1c-Black.ttf | Bin 0 -> 3625868 bytes
assets/fonts/lato/MPLUSRounded1c-Bold.ttf | Bin 0 -> 3533308 bytes
.../fonts/lato/MPLUSRounded1c-ExtraBold.ttf | Bin 0 -> 3619000 bytes
assets/fonts/lato/MPLUSRounded1c-Light.ttf | Bin 0 -> 3285880 bytes
assets/fonts/lato/MPLUSRounded1c-Medium.ttf | Bin 0 -> 3423528 bytes
assets/fonts/lato/MPLUSRounded1c-Regular.ttf | Bin 0 -> 3380812 bytes
assets/fonts/lato/MPLUSRounded1c-Thin.ttf | Bin 0 -> 2900340 bytes
assets/img/failed-exam.svg | 18 +
assets/img/icon/android-chrome-192x192.png | Bin 0 -> 4831 bytes
assets/img/icon/android-chrome-512x512.png | Bin 0 -> 12641 bytes
assets/img/icon/apple-touch-icon.png | Bin 0 -> 4439 bytes
assets/img/icon/favicon-16x16.png | Bin 0 -> 354 bytes
assets/img/icon/favicon-32x32.png | Bin 0 -> 676 bytes
assets/img/icon/favicon.ico | Bin 0 -> 15406 bytes
assets/img/icon/site.webmanifest | 1 +
assets/img/id-card-negated.png | Bin 0 -> 2137 bytes
assets/img/id-card.png | Bin 0 -> 2080 bytes
assets/img/key-negated.png | Bin 0 -> 11471 bytes
assets/img/key.png | Bin 0 -> 15310 bytes
assets/img/learnlytics.png | Bin 0 -> 7525 bytes
assets/img/learnlytics.svg | 28 +
assets/img/smiley-x.svg | 4 +
assets/img/user.jpeg | Bin 0 -> 359950 bytes
assets/js/chart.js | 20 +
assets/js/chartUtils.js | 293 +
assets/js/htmx.min.js | 1 +
assets/js/utils.js | 39 +
assets/learnlytics.png | Bin 0 -> 8056 bytes
components/charts.templ | 82 +
components/charts_templ.go | 306 +
components/components.templ | 240 +
components/components_templ.go | 554 +
components/go.mod | 5 +
components/go.sum | 4 +
db/go.mod | 20 +
db/go.sum | 36 +
db/model.go | 78 +
go.mod | 32 +
go.sum | 33 +
handlers/go.mod | 3 +
handlers/handler.go | 11 +
main.go | 82 +
templ/.dockerignore | 3 +
templ/.envrc | 1 +
templ/.github/FUNDING.yml | 1 +
templ/.github/ISSUE_TEMPLATE/bug_report.md | 38 +
templ/.github/workflows/ci.yml | 83 +
templ/.github/workflows/docs.yaml | 60 +
templ/.github/workflows/release.yml | 36 +
templ/.gitignore | 34 +
templ/.goreleaser.yaml | 72 +
templ/.ignore | 9 +
templ/.version | 1 +
templ/.vscode/settings.json | 12 +
templ/CODE_OF_CONDUCT.md | 128 +
templ/CONTRIBUTING.md | 244 +
templ/LICENSE | 21 +
templ/README.md | 184 +
templ/SECURITY.md | 9 +
templ/benchmarks/react/.gitignore | 3 +
templ/benchmarks/react/README.md | 23 +
templ/benchmarks/react/package-lock.json | 719 +
templ/benchmarks/react/package.json | 19 +
templ/benchmarks/react/src/index.jsx | 34 +
templ/benchmarks/templ/README.md | 27 +
templ/benchmarks/templ/data.go | 6 +
templ/benchmarks/templ/render_test.go | 87 +
templ/benchmarks/templ/template.templ | 13 +
templ/benchmarks/templ/template_templ.go | 118 +
templ/cfg/cfg.go | 20 +
templ/cmd/templ/fmtcmd/main.go | 166 +
templ/cmd/templ/fmtcmd/main_test.go | 163 +
templ/cmd/templ/fmtcmd/testdata.txtar | 54 +
templ/cmd/templ/generatecmd/cmd.go | 403 +
templ/cmd/templ/generatecmd/eventhandler.go | 366 +
templ/cmd/templ/generatecmd/fatalerror.go | 23 +
templ/cmd/templ/generatecmd/main.go | 39 +
templ/cmd/templ/generatecmd/main_test.go | 170 +
.../templ/generatecmd/modcheck/modcheck.go | 82 +
.../generatecmd/modcheck/modcheck_test.go | 47 +
templ/cmd/templ/generatecmd/proxy/proxy.go | 284 +
.../cmd/templ/generatecmd/proxy/proxy_test.go | 627 +
templ/cmd/templ/generatecmd/proxy/script.js | 10 +
templ/cmd/templ/generatecmd/run/run_test.go | 108 +
templ/cmd/templ/generatecmd/run/run_unix.go | 84 +
.../cmd/templ/generatecmd/run/run_windows.go | 69 +
.../generatecmd/run/testprogram/go.mod.embed | 3 +
.../templ/generatecmd/run/testprogram/main.go | 63 +
templ/cmd/templ/generatecmd/sse/server.go | 84 +
.../templ/generatecmd/symlink/symlink_test.go | 52 +
.../test-eventhandler/eventhandler_test.go | 101 +
.../multiple_errors.templ.error | 10 +
.../single_error.templ.error | 5 +
.../generatecmd/testwatch/generate_test.go | 485 +
.../testwatch/testdata/go.mod.embed | 7 +
.../generatecmd/testwatch/testdata/go.sum | 2 +
.../generatecmd/testwatch/testdata/main.go | 81 +
.../testwatch/testdata/templates.templ | 17 +
.../testwatch/testdata/templates_templ.go | 55 +
templ/cmd/templ/generatecmd/watcher/watch.go | 166 +
.../templ/generatecmd/watcher/watch_test.go | 133 +
templ/cmd/templ/imports/process.go | 174 +
templ/cmd/templ/imports/process_test.go | 154 +
.../cmd/templ/imports/testdata/comments.txtar | 12 +
.../testdata/commentsbeforepackage.txtar | 28 +
.../imports/testdata/deleteimports.txtar | 14 +
.../templ/imports/testdata/extraspace.txtar | 15 +
templ/cmd/templ/imports/testdata/groups.txtar | 22 +
.../imports/testdata/groupsmanynewlines.txtar | 21 +
templ/cmd/templ/imports/testdata/header.txtar | 10 +
.../imports/testdata/namedimportsadd.txtar | 19 +
.../testdata/namedimportsremoved.txtar | 16 +
.../templ/imports/testdata/noimports.txtar | 12 +
.../imports/testdata/noimportscode.txtar | 20 +
.../templ/imports/testdata/stringexp.txtar | 14 +
.../templ/imports/testdata/twoimports.txtar | 21 +
templ/cmd/templ/infocmd/main.go | 157 +
templ/cmd/templ/lspcmd/httpdebug/handler.go | 130 +
templ/cmd/templ/lspcmd/httpdebug/list.templ | 22 +
.../cmd/templ/lspcmd/httpdebug/list_templ.go | 99 +
templ/cmd/templ/lspcmd/lsp_test.go | 957 +
templ/cmd/templ/lspcmd/lspdiff/lspdiff.go | 42 +
templ/cmd/templ/lspcmd/main.go | 131 +
templ/cmd/templ/lspcmd/pls/main.go | 124 +
templ/cmd/templ/lspcmd/proxy/client.go | 143 +
.../cmd/templ/lspcmd/proxy/diagnosticcache.go | 61 +
.../templ/lspcmd/proxy/documentcontents.go | 215 +
.../lspcmd/proxy/documentcontents_test.go | 571 +
templ/cmd/templ/lspcmd/proxy/import_test.go | 293 +
templ/cmd/templ/lspcmd/proxy/rewrite.go | 24 +
templ/cmd/templ/lspcmd/proxy/server.go | 1289 ++
templ/cmd/templ/lspcmd/proxy/snippets.go | 111 +
.../cmd/templ/lspcmd/proxy/sourcemapcache.go | 52 +
templ/cmd/templ/lspcmd/stdrwc.go | 50 +
templ/cmd/templ/main.go | 394 +
templ/cmd/templ/main_test.go | 102 +
templ/cmd/templ/processor/processor.go | 80 +
templ/cmd/templ/processor/processor_test.go | 19 +
templ/cmd/templ/sloghandler/handler.go | 101 +
.../testdata/css-classes/classes.go | 3 +
.../templ/testproject/testdata/go.mod.embed | 7 +
templ/cmd/templ/testproject/testdata/go.sum | 2 +
templ/cmd/templ/testproject/testdata/main.go | 33 +
.../testproject/testdata/remotechild.templ | 5 +
.../testproject/testdata/remotechild_templ.go | 40 +
.../testproject/testdata/remoteparent.templ | 9 +
.../testdata/remoteparent_templ.go | 69 +
.../testproject/testdata/templates.templ | 25 +
.../testproject/testdata/templates_templ.go | 63 +
templ/cmd/templ/testproject/testproject.go | 70 +
.../visualize/sourcemapvisualisation.templ | 64 +
.../visualize/sourcemapvisualisation_templ.go | 296 +
templ/cmd/templ/visualize/types.go | 87 +
templ/cosign.pub | 4 +
templ/docs/.gitignore | 22 +
templ/docs/README.md | 41 +
templ/docs/babel.config.js | 3 +
.../docs/02-quick-start/01-installation.md | 138 +
.../02-creating-a-simple-templ-component.md | 85 +
...03-running-your-first-templ-application.md | 47 +
.../docs/docs/02-quick-start/_category_.json | 4 +
.../03-syntax-and-usage/01-basic-syntax.md | 48 +
.../docs/03-syntax-and-usage/02-elements.md | 81 +
.../docs/03-syntax-and-usage/03-attributes.md | 256 +
.../03-syntax-and-usage/04-expressions.md | 103 +
.../docs/03-syntax-and-usage/05-statements.md | 101 +
.../docs/03-syntax-and-usage/06-if-else.md | 32 +
.../docs/03-syntax-and-usage/07-switch.md | 37 +
.../docs/docs/03-syntax-and-usage/08-loops.md | 23 +
.../docs/03-syntax-and-usage/09-raw-go.md | 24 +
.../10-template-composition.md | 320 +
.../11-css-style-management.md | 448 +
.../12-script-templates.md | 522 +
.../docs/03-syntax-and-usage/13-comments.md | 40 +
.../docs/03-syntax-and-usage/14-context.md | 181 +
.../15-using-with-go-templates.md | 89 +
.../16-rendering-raw-html.md | 31 +
.../17-using-react-with-templ.md | 280 +
.../03-syntax-and-usage/18-render-once.md | 102 +
.../docs/03-syntax-and-usage/_category_.json | 4 +
.../docs/04-core-concepts/01-components.md | 132 +
.../02-template-generation.md | 95 +
.../docs/docs/04-core-concepts/03-testing.md | 224 +
.../docs/04-core-concepts/04-view-models.md | 49 +
.../docs/04-core-concepts/_category_.json | 4 +
.../01-creating-an-http-server-with-templ.md | 136 +
.../02-example-counter-application.md | 206 +
.../docs/05-server-side-rendering/03-htmx.md | 56 +
.../05-server-side-rendering/04-datastar.md | 207 +
.../05-server-side-rendering/05-streaming.md | 143 +
.../05-server-side-rendering/_category_.json | 4 +
...generating-static-html-files-with-templ.md | 103 +
.../06-static-rendering/02-blog-example.md | 244 +
.../03-deploying-static-files.md | 30 +
.../docs/06-static-rendering/_category_.json | 4 +
.../01-project-structure.md | 256 +
.../docs/07-project-structure/_category_.json | 4 +
.../01-hosting-on-aws-lambda.md | 98 +
.../02-hosting-using-docker.md | 99 +
.../08-hosting-and-deployment/_category_.json | 4 +
templ/docs/docs/09-developer-tools/01-cli.md | 118 +
.../docs/09-developer-tools/02-ide-support.md | 439 +
.../docs/09-developer-tools/03-live-reload.md | 160 +
.../04-live-reload-with-other-tools.md | 212 +
templ/docs/docs/09-developer-tools/05-llm.md | 13 +
templ/docs/docs/09-developer-tools/06-cicd.md | 12 +
.../docs/09-developer-tools/_category_.json | 4 +
.../docs/10-security/01-injection-attacks.md | 87 +
.../10-security/02-content-security-policy.md | 86 +
.../docs/docs/10-security/03-code-signing.md | 7 +
templ/docs/docs/10-security/_category_.json | 4 +
templ/docs/docs/11-media/_category_.json | 4 +
templ/docs/docs/11-media/index.md | 33 +
.../docs/12-integrations/01-web-frameworks.md | 106 +
.../02-internationalization.md | 95 +
.../docs/docs/12-integrations/_category_.json | 4 +
.../docs/docs/13-experimental/01-overview.md | 14 +
.../docs/13-experimental/02-urlbuilder.md | 31 +
.../docs/docs/13-experimental/_category_.json | 4 +
.../14-help-and-community/_category_.json | 4 +
.../docs/docs/14-help-and-community/index.md | 13 +
templ/docs/docs/15-faq/_category_.json | 4 +
templ/docs/docs/15-faq/index.md | 7 +
templ/docs/docs/go.mod | 8 +
templ/docs/docs/go.sum | 4 +
templ/docs/docs/index.md | 30 +
templ/docs/docs/main.go | 109 +
templ/docs/docusaurus.config.js | 102 +
templ/docs/package-lock.json | 19020 ++++++++++++++++
templ/docs/package.json | 49 +
templ/docs/sidebars.js | 33 +
templ/docs/src/css/custom.css | 34 +
.../docs/src/theme/prism-include-languages.js | 171 +
templ/docs/static/.nojekyll | 0
templ/docs/static/img/docusaurus.png | Bin 0 -> 5142 bytes
templ/docs/static/img/favicon.ico | Bin 0 -> 15406 bytes
templ/docs/static/img/logo.svg | 86 +
templ/docs/static/img/shadowdom.webm | Bin 0 -> 17648 bytes
templ/docs/static/img/social-card.jpg | Bin 0 -> 205672 bytes
.../static/img/undraw_docusaurus_mountain.svg | 171 +
.../static/img/undraw_docusaurus_react.svg | 170 +
.../static/img/undraw_docusaurus_tree.svg | 40 +
templ/examples/blog/main.go | 54 +
templ/examples/blog/posts.templ | 64 +
templ/examples/blog/posts_templ.go | 358 +
templ/examples/blog/posts_test.go | 210 +
.../examples/content-security-policy/main.go | 68 +
.../content-security-policy/templates.templ | 9 +
.../templates_templ.go | 50 +
templ/examples/counter-basic/.dockerignore | 1 +
templ/examples/counter-basic/Dockerfile | 16 +
templ/examples/counter-basic/README.md | 7 +
templ/examples/counter-basic/assets/bulma.css | 11851 ++++++++++
.../counter-basic/assets/bulma.css.map | 1 +
.../counter-basic/assets/bulma.min.css | 1 +
.../counter-basic/assets/favicon/about.txt | 6 +
.../assets/favicon/android-chrome-192x192.png | Bin 0 -> 5673 bytes
.../assets/favicon/android-chrome-512x512.png | Bin 0 -> 13058 bytes
.../assets/favicon/apple-touch-icon.png | Bin 0 -> 5101 bytes
.../assets/favicon/favicon-16x16.png | Bin 0 -> 357 bytes
.../assets/favicon/favicon-32x32.png | Bin 0 -> 686 bytes
.../counter-basic/assets/favicon/favicon.ico | Bin 0 -> 15406 bytes
.../assets/favicon/site.webmanifest | 1 +
templ/examples/counter-basic/assets/logo.png | Bin 0 -> 10482 bytes
templ/examples/counter-basic/components.templ | 49 +
.../counter-basic/components_templ.go | 138 +
templ/examples/counter-basic/fly.toml | 39 +
templ/examples/counter-basic/go.mod | 11 +
templ/examples/counter-basic/go.sum | 4 +
templ/examples/counter-basic/main.go | 69 +
templ/examples/counter/Dockerfile | 3 +
templ/examples/counter/README.md | 25 +
templ/examples/counter/assets/css/bulma.css | 11851 ++++++++++
.../examples/counter/assets/css/bulma.css.map | 1 +
.../examples/counter/assets/css/bulma.min.css | 1 +
.../examples/counter/assets/favicon/about.txt | 6 +
.../assets/favicon/android-chrome-192x192.png | Bin 0 -> 5673 bytes
.../assets/favicon/android-chrome-512x512.png | Bin 0 -> 13058 bytes
.../assets/favicon/apple-touch-icon.png | Bin 0 -> 5101 bytes
.../counter/assets/favicon/favicon-16x16.png | Bin 0 -> 357 bytes
.../counter/assets/favicon/favicon-32x32.png | Bin 0 -> 686 bytes
.../counter/assets/favicon/favicon.ico | Bin 0 -> 15406 bytes
.../counter/assets/favicon/site.webmanifest | 1 +
templ/examples/counter/assets/images/logo.png | Bin 0 -> 10482 bytes
templ/examples/counter/assets/js/htmx.min.js | 1 +
templ/examples/counter/cdk/.gitignore | 19 +
templ/examples/counter/cdk/cdk.json | 47 +
templ/examples/counter/cdk/stack.go | 136 +
.../counter/components/components.templ | 62 +
.../counter/components/components_templ.go | 163 +
templ/examples/counter/db/db.go | 189 +
templ/examples/counter/go.mod | 53 +
templ/examples/counter/go.sum | 109 +
templ/examples/counter/handlers/default.go | 81 +
templ/examples/counter/lambda/main.go | 30 +
templ/examples/counter/main.go | 43 +
templ/examples/counter/services/count.go | 84 +
templ/examples/counter/session/session.go | 56 +
.../external-libraries/components.templ | 19 +
.../external-libraries/components_templ.go | 69 +
templ/examples/external-libraries/go.mod | 9 +
templ/examples/external-libraries/go.sum | 2 +
templ/examples/external-libraries/main.go | 39 +
templ/examples/hello-world-ssr/hello.templ | 5 +
templ/examples/hello-world-ssr/hello_templ.go | 53 +
templ/examples/hello-world-ssr/main.go | 17 +
templ/examples/hello-world-static/hello.templ | 5 +
.../hello-world-static/hello_templ.go | 53 +
templ/examples/hello-world-static/main.go | 11 +
templ/examples/integration-chi/go.mod | 12 +
templ/examples/integration-chi/go.sum | 4 +
templ/examples/integration-chi/home.templ | 5 +
templ/examples/integration-chi/home_templ.go | 40 +
templ/examples/integration-chi/main.go | 14 +
templ/examples/integration-echo/go.mod | 24 +
templ/examples/integration-echo/go.sum | 33 +
templ/examples/integration-echo/home.templ | 5 +
templ/examples/integration-echo/home_templ.go | 40 +
templ/examples/integration-echo/main.go | 30 +
.../gintemplrenderer/renderer.go | 58 +
templ/examples/integration-gin/go.mod | 52 +
templ/examples/integration-gin/go.sum | 142 +
templ/examples/integration-gin/home.html | 1 +
templ/examples/integration-gin/home.templ | 5 +
templ/examples/integration-gin/home_templ.go | 40 +
templ/examples/integration-gin/main.go | 36 +
.../integration-go-echarts/components.templ | 14 +
.../components_templ.go | 50 +
templ/examples/integration-go-echarts/go.mod | 12 +
templ/examples/integration-go-echarts/go.sum | 12 +
templ/examples/integration-go-echarts/main.go | 54 +
templ/examples/integration-gofiber/README.md | 24 +
templ/examples/integration-gofiber/go.mod | 26 +
templ/examples/integration-gofiber/go.sum | 30 +
templ/examples/integration-gofiber/home.templ | 19 +
.../integration-gofiber/home_templ.go | 104 +
templ/examples/integration-gofiber/main.go | 33 +
templ/examples/integration-react/README.md | 31 +
.../integration-react/components.templ | 33 +
.../integration-react/components_templ.go | 92 +
templ/examples/integration-react/flake.lock | 27 +
templ/examples/integration-react/flake.nix | 34 +
templ/examples/integration-react/go.mod | 9 +
templ/examples/integration-react/go.sum | 2 +
templ/examples/integration-react/main.go | 25 +
.../integration-react/react/.gitignore | 1 +
.../integration-react/react/components.tsx | 7 +
.../examples/integration-react/react/index.ts | 24 +
.../integration-react/react/package-lock.json | 119 +
.../integration-react/react/package.json | 19 +
.../integration-react/react/tsconfig.json | 5 +
.../integration-react/static/index.js | 54 +
.../internationalization/components.templ | 22 +
.../internationalization/components_templ.go | 81 +
templ/examples/internationalization/go.mod | 17 +
templ/examples/internationalization/go.sum | 16 +
.../internationalization/locales/de/de.yaml | 3 +
.../internationalization/locales/en/en.yaml | 3 +
.../internationalization/locales/locales.go | 9 +
.../locales/zh-cn/zh-cn.yaml | 3 +
templ/examples/internationalization/main.go | 44 +
templ/examples/static-generator/.gitignore | 1 +
templ/examples/static-generator/Dockerfile | 3 +
templ/examples/static-generator/blog.templ | 38 +
templ/examples/static-generator/blog_templ.go | 218 +
templ/examples/static-generator/fly.toml | 40 +
templ/examples/static-generator/go.mod | 17 +
templ/examples/static-generator/go.sum | 8 +
templ/examples/static-generator/main.go | 109 +
templ/examples/streaming/go.mod | 9 +
templ/examples/streaming/go.sum | 2 +
templ/examples/streaming/main.templ | 53 +
templ/examples/streaming/main_templ.go | 116 +
templ/examples/suspense/go.mod | 9 +
templ/examples/suspense/go.sum | 2 +
templ/examples/suspense/main.templ | 111 +
templ/examples/suspense/main_templ.go | 335 +
.../syntax-and-usage/components/main.go | 34 +
.../components/templsyntax.templ | 9 +
.../components/templsyntax_templ.go | 63 +
templ/examples/typescript/README.md | 53 +
templ/examples/typescript/assets/js/index.js | 1 +
.../typescript/components/index.templ | 20 +
.../typescript/components/index_templ.go | 65 +
templ/examples/typescript/go.mod | 9 +
templ/examples/typescript/go.sum | 2 +
templ/examples/typescript/main.go | 30 +
.../examples/typescript/ts/package-lock.json | 436 +
templ/examples/typescript/ts/package.json | 15 +
templ/examples/typescript/ts/src/index.ts | 34 +
templ/flake.lock | 102 +
templ/flake.nix | 84 +
templ/flush.go | 36 +
templ/flush_test.go | 126 +
templ/generator/generator.go | 1638 ++
templ/generator/generator_test.go | 49 +
templ/generator/htmldiff/diff.go | 95 +
templ/generator/rangewriter.go | 122 +
templ/generator/rangewriter_test.go | 58 +
templ/generator/test-a-href/expected.html | 3 +
templ/generator/test-a-href/render_test.go | 23 +
templ/generator/test-a-href/template.templ | 7 +
templ/generator/test-a-href/template_templ.go | 58 +
.../test-attribute-errors/expected.html | 5 +
.../test-attribute-errors/render_test.go | 57 +
.../test-attribute-errors/template.templ | 20 +
.../test-attribute-errors/template_templ.go | 90 +
.../test-attribute-escaping/expected.html | 6 +
.../test-attribute-escaping/render_test.go | 23 +
.../test-attribute-escaping/template.templ | 14 +
.../test-attribute-escaping/template_templ.go | 49 +
templ/generator/test-call/expected.html | 8 +
templ/generator/test-call/render_test.go | 23 +
templ/generator/test-call/template.templ | 44 +
templ/generator/test-call/template_templ.go | 310 +
.../test-cancelled-context/render_test.go | 16 +
.../test-cancelled-context/template.templ | 4 +
.../test-cancelled-context/template_templ.go | 36 +
.../test-complex-attributes/expected.html | 18 +
.../test-complex-attributes/render_test.go | 23 +
.../test-complex-attributes/template.templ | 21 +
.../test-complex-attributes/template_templ.go | 40 +
.../expected.html | 17 +
.../render_test.go | 23 +
.../template.templ | 21 +
.../template_templ.go | 40 +
templ/generator/test-context/expected.html | 5 +
templ/generator/test-context/render_test.go | 26 +
templ/generator/test-context/template.templ | 19 +
.../generator/test-context/template_templ.go | 78 +
.../test-css-expression/constants.go | 3 +
.../test-css-expression/render_test.go | 19 +
.../test-css-expression/template.templ | 7 +
.../test-css-expression/template_templ.go | 23 +
.../test-css-middleware/expected.html | 3 +
.../test-css-middleware/render_test.go | 81 +
.../test-css-middleware/template.templ | 9 +
.../test-css-middleware/template_templ.go | 81 +
templ/generator/test-css-usage/expected.html | 36 +
templ/generator/test-css-usage/render_test.go | 23 +
templ/generator/test-css-usage/template.templ | 96 +
.../test-css-usage/template_templ.go | 588 +
templ/generator/test-doctype/expected.html | 10 +
templ/generator/test-doctype/render_test.go | 23 +
templ/generator/test-doctype/template.templ | 14 +
.../generator/test-doctype/template_templ.go | 66 +
.../generator/test-element-attributes/data.go | 7 +
.../test-element-attributes/expected.html | 30 +
.../test-element-attributes/render_test.go | 28 +
.../test-element-attributes/template.templ | 46 +
.../test-element-attributes/template_templ.go | 175 +
templ/generator/test-elseif/data.go | 8 +
templ/generator/test-elseif/expected.html | 9 +
templ/generator/test-elseif/render_test.go | 23 +
templ/generator/test-elseif/template.templ | 31 +
templ/generator/test-elseif/template_templ.go | 145 +
templ/generator/test-for/expected.html | 3 +
templ/generator/test-for/render_test.go | 23 +
templ/generator/test-for/template.templ | 7 +
templ/generator/test-for/template_templ.go | 55 +
.../generator/test-form-action/expected.html | 3 +
.../generator/test-form-action/render_test.go | 23 +
.../generator/test-form-action/template.templ | 7 +
.../test-form-action/template_templ.go | 58 +
.../generator/test-go-comments/expected.html | 1 +
.../generator/test-go-comments/render_test.go | 23 +
.../generator/test-go-comments/template.templ | 10 +
.../test-go-comments/template_templ.go | 53 +
.../test-go-template-in-templ/expected.html | 6 +
.../test-go-template-in-templ/render_test.go | 22 +
.../test-go-template-in-templ/template.templ | 14 +
.../template_templ.go | 52 +
.../generator/test-html-comment/expected.html | 14 +
.../test-html-comment/render_test.go | 23 +
.../test-html-comment/template.templ | 22 +
.../test-html-comment/template_templ.go | 119 +
templ/generator/test-html/data.go | 6 +
templ/generator/test-html/expected.html | 11 +
templ/generator/test-html/render_test.go | 26 +
templ/generator/test-html/template.templ | 14 +
templ/generator/test-html/template_templ.go | 118 +
templ/generator/test-if/data.go | 8 +
templ/generator/test-if/expected.html | 1 +
templ/generator/test-if/render_test.go | 23 +
templ/generator/test-if/template.templ | 9 +
templ/generator/test-if/template_templ.go | 57 +
templ/generator/test-ifelse/data.go | 8 +
templ/generator/test-ifelse/expected.html | 1 +
templ/generator/test-ifelse/render_test.go | 23 +
templ/generator/test-ifelse/template.templ | 9 +
templ/generator/test-ifelse/template_templ.go | 57 +
templ/generator/test-import/expected.html | 5 +
templ/generator/test-import/render_test.go | 23 +
templ/generator/test-import/template.templ | 27 +
templ/generator/test-import/template_templ.go | 202 +
.../test-js-unsafe-usage/expected.html | 6 +
.../test-js-unsafe-usage/render_test.go | 23 +
.../test-js-unsafe-usage/template.templ | 6 +
.../test-js-unsafe-usage/template_templ.go | 57 +
templ/generator/test-js-usage/expected.html | 27 +
templ/generator/test-js-usage/render_test.go | 23 +
templ/generator/test-js-usage/template.templ | 27 +
.../generator/test-js-usage/template_templ.go | 138 +
templ/generator/test-method/expected.html | 1 +
templ/generator/test-method/render_test.go | 26 +
templ/generator/test-method/template.templ | 9 +
templ/generator/test-method/template_templ.go | 57 +
templ/generator/test-once/expected.html | 7 +
templ/generator/test-once/render_test.go | 23 +
templ/generator/test-once/template.templ | 19 +
templ/generator/test-once/template_templ.go | 123 +
.../generator/test-only-scripts/expected.html | 7 +
.../test-only-scripts/render_test.go | 23 +
.../test-only-scripts/template.templ | 5 +
.../test-only-scripts/template_templ.go | 21 +
.../generator/test-raw-elements/expected.html | 19 +
.../test-raw-elements/render_test.go | 22 +
.../test-raw-elements/template.templ | 23 +
.../test-raw-elements/template_templ.go | 48 +
.../test-script-inline/expected.html | 20 +
.../test-script-inline/render_test.go | 23 +
.../test-script-inline/template.templ | 17 +
.../test-script-inline/template_templ.go | 72 +
.../test-script-usage-nonce/expected.html | 19 +
.../test-script-usage-nonce/render_test.go | 26 +
.../test-script-usage-nonce/template.templ | 44 +
.../test-script-usage-nonce/template_templ.go | 235 +
.../generator/test-script-usage/expected.html | 29 +
.../test-script-usage/render_test.go | 23 +
.../test-script-usage/template.templ | 58 +
.../test-script-usage/template_templ.go | 318 +
.../test-spread-attributes/expected.html | 11 +
.../test-spread-attributes/render_test.go | 65 +
.../test-spread-attributes/template.templ | 17 +
.../test-spread-attributes/template_templ.go | 68 +
.../test-string-errors/expected.html | 5 +
.../test-string-errors/render_test.go | 57 +
.../test-string-errors/template.templ | 20 +
.../test-string-errors/template_templ.go | 90 +
templ/generator/test-string/expected.html | 5 +
templ/generator/test-string/render_test.go | 23 +
templ/generator/test-string/template.templ | 9 +
templ/generator/test-string/template_templ.go | 92 +
.../test-style-attribute/expected.html | 2 +
.../test-style-attribute/render_test.go | 64 +
.../test-style-attribute/template.templ | 10 +
.../test-style-attribute/template_templ.go | 96 +
templ/generator/test-switch/render_test.go | 24 +
templ/generator/test-switch/template.templ | 10 +
templ/generator/test-switch/template_templ.go | 58 +
.../test-switchdefault/render_test.go | 24 +
.../test-switchdefault/template.templ | 10 +
.../test-switchdefault/template_templ.go | 58 +
.../test-templ-element/expected.html | 1 +
.../test-templ-element/render_test.go | 24 +
.../test-templ-element/template.templ | 22 +
.../test-templ-element/template_templ.go | 158 +
.../test-templ-in-go-template/expected.html | 6 +
.../test-templ-in-go-template/render_test.go | 39 +
.../test-templ-in-go-template/template.templ | 15 +
.../template_templ.go | 50 +
.../test-text-whitespace/render_test.go | 53 +
.../test-text-whitespace/template.templ | 40 +
.../test-text-whitespace/template_templ.go | 215 +
templ/generator/test-text/expected.html | 4 +
templ/generator/test-text/render_test.go | 24 +
templ/generator/test-text/template.templ | 8 +
templ/generator/test-text/template_templ.go | 66 +
templ/generator/test-void/expected.html | 4 +
templ/generator/test-void/render_test.go | 23 +
templ/generator/test-void/template.templ | 8 +
templ/generator/test-void/template_templ.go | 40 +
.../render_test.go | 78 +
.../template.templ | 66 +
.../template_templ.go | 253 +
templ/get-version/main.go | 29 +
templ/go.mod | 32 +
templ/go.sum | 102 +
templ/handler.go | 102 +
templ/handler_test.go | 207 +
templ/ide-demo.gif | Bin 0 -> 544148 bytes
templ/join.go | 19 +
templ/join_test.go | 81 +
templ/js.go | 40 +
templ/js_test.go | 189 +
templ/jsonscript.go | 85 +
templ/jsonscript_test.go | 58 +
templ/jsonstring.go | 14 +
templ/jsonstring_test.go | 28 +
templ/logo/logo.svg | 86 +
templ/lsp/LICENSE | 29 +
templ/lsp/README.md | 3 +
templ/lsp/jsonrpc2/codes.go | 86 +
templ/lsp/jsonrpc2/conn.go | 244 +
templ/lsp/jsonrpc2/errors.go | 70 +
templ/lsp/jsonrpc2/handler.go | 120 +
templ/lsp/jsonrpc2/jsonrpc2.go | 7 +
templ/lsp/jsonrpc2/jsonrpc2_test.go | 171 +
templ/lsp/jsonrpc2/message.go | 354 +
templ/lsp/jsonrpc2/serve.go | 129 +
templ/lsp/jsonrpc2/serve_test.go | 60 +
templ/lsp/jsonrpc2/stream.go | 226 +
templ/lsp/jsonrpc2/wire.go | 140 +
templ/lsp/jsonrpc2/wire_test.go | 156 +
templ/lsp/protocol/base.go | 95 +
templ/lsp/protocol/base_test.go | 186 +
templ/lsp/protocol/basic.go | 705 +
templ/lsp/protocol/basic_test.go | 3213 +++
templ/lsp/protocol/callhierarchy.go | 103 +
templ/lsp/protocol/callhierarchy_test.go | 1331 ++
templ/lsp/protocol/capabilities_client.go | 1068 +
.../lsp/protocol/capabilities_client_test.go | 2787 +++
templ/lsp/protocol/capabilities_server.go | 523 +
templ/lsp/protocol/client.go | 412 +
templ/lsp/protocol/context.go | 26 +
templ/lsp/protocol/deprecated.go | 264 +
templ/lsp/protocol/diagnostics.go | 149 +
templ/lsp/protocol/diagnostics_test.go | 640 +
templ/lsp/protocol/doc.go | 23 +
templ/lsp/protocol/errors.go | 40 +
templ/lsp/protocol/general.go | 461 +
templ/lsp/protocol/general_test.go | 5206 +++++
templ/lsp/protocol/handler.go | 88 +
templ/lsp/protocol/language.go | 1401 ++
templ/lsp/protocol/language_test.go | 6060 +++++
templ/lsp/protocol/progress.go | 119 +
templ/lsp/protocol/progress_test.go | 509 +
templ/lsp/protocol/protocol.go | 41 +
templ/lsp/protocol/registration.go | 44 +
templ/lsp/protocol/registration_test.go | 579 +
templ/lsp/protocol/selectionrange.go | 110 +
templ/lsp/protocol/semantic_token.go | 179 +
templ/lsp/protocol/server.go | 1893 ++
templ/lsp/protocol/text.go | 111 +
templ/lsp/protocol/text_test.go | 930 +
templ/lsp/protocol/util.go | 9 +
templ/lsp/protocol/util_test.go | 33 +
templ/lsp/protocol/version.go | 7 +
templ/lsp/protocol/window.go | 111 +
templ/lsp/protocol/window_test.go | 793 +
templ/lsp/protocol/workspace.go | 213 +
templ/lsp/protocol/workspace_test.go | 1697 ++
templ/lsp/uri/uri.go | 192 +
templ/lsp/uri/uri_test.go | 142 +
templ/lsp/xcontext/xcontext.go | 22 +
templ/once.go | 64 +
templ/once_test.go | 117 +
templ/parser/v2/allocs_test.go | 26 +
templ/parser/v2/benchmarks_test.go | 34 +
.../parser/v2/benchmarktestdata/benchmark.txt | 18 +
templ/parser/v2/calltemplateparser.go | 33 +
templ/parser/v2/calltemplateparser_test.go | 100 +
templ/parser/v2/childrenparser.go | 21 +
templ/parser/v2/childrenparser_test.go | 56 +
templ/parser/v2/conditionalattributeparser.go | 100 +
templ/parser/v2/cssparser.go | 197 +
templ/parser/v2/cssparser_test.go | 337 +
templ/parser/v2/diagnostics.go | 64 +
templ/parser/v2/diagnostics_test.go | 153 +
templ/parser/v2/doctypeparser.go | 32 +
templ/parser/v2/doctypeparser_test.go | 101 +
templ/parser/v2/elementparser.go | 509 +
templ/parser/v2/elementparser_test.go | 1786 ++
templ/parser/v2/expressionparser.go | 239 +
templ/parser/v2/expressionparser_test.go | 252 +
templ/parser/v2/forexpressionparser.go | 52 +
templ/parser/v2/forexpressionparser_test.go | 162 +
templ/parser/v2/format_test.go | 45 +
...ntation__when_close_tag_is_on_new_line.txt | 20 +
...tation__when_close_tag_is_on_same_line.txt | 12 +
...n_one_line_are_not_placed_on_new_lines.txt | 12 +
.../br_elements_are_placed_on_new_lines.txt | 24 +
.../children_indented__closing_elm.txt | 15 +
.../children_indented__first_child.txt | 15 +
.../formattestdata/comments_are_preserved.txt | 24 +
..._indentation_rules_as_regular_elements.txt | 24 +
...pressions_result_in_all_attrs_indented.txt | 21 +
...ssions_result_in_all_attrs_indented__2.txt | 22 +
...ns_with_else_blocks_are_also_formatted.txt | 26 +
...tes__but_use_single_quotes_if_required.txt | 17 +
.../css_is_indented_by_one_level.txt | 14 +
.../css_whitespace_is_tidied.txt | 15 +
.../formattestdata/cssarguments_multiline.txt | 24 +
.../empty_elements_stay_on_the_same_line.txt | 17 +
.../for_loops_are_placed_on_a_new_line.txt | 20 +
.../formatting_does_not_alter_whitespace.txt | 13 +
...ions_are_formatted_by_the_go_formatter.txt | 42 +
.../godoc_comments_are_preserved.txt | 14 +
...if_statements_are_placed_on_a_new_line.txt | 25 +
..._elements_are_not_placed_on_a_new_line.txt | 20 +
...e_string_literal_indentation_preserved.txt | 40 +
...line_are_not_split_into_multiple_lines.txt | 12 +
.../v2/formattestdata/raw_go_is_formatted.txt | 12 +
...not_converted_to_self_closing_elements.txt | 13 +
.../scriptarguments_multiline.txt | 20 +
...ing_between_string_expressions_is_kept.txt | 12 +
...ing_expressions_is_not_magically_added.txt | 12 +
...ween_string_spreads_attributes_is_kept.txt | 12 +
...ch_statements_are_placed_on_a_new_line.txt | 26 +
.../tables_are_formatted_well.txt | 30 +
...are_formatted_correctly_when_multiline.txt | 34 +
...e_formatted_the_same_as_other_elements.txt | 26 +
...platearguments_multiline_with_generics.txt | 20 +
.../templatefile_can_be_round_tripped.txt | 13 +
.../templatefile_can_start_with_comments.txt | 14 +
...can_start_with_comments_and_whitespace.txt | 16 +
...with_multiline_comments_and_whitespace.txt | 20 +
..._with_multiple_comments_and_whitespace.txt | 32 +
.../templateheader_with_build_tags.txt | 10 +
...iline_block_containing_multiline_block.txt | 34 +
...mplelement_multiline_block_indentation.txt | 22 +
.../templelement_multiline_in_div.txt | 22 +
.../templelement_param_spacing.txt | 12 +
.../templelement_simple_block_indentation.txt | 16 +
.../templelement_simple_in_div.txt | 16 +
.../templelement_simple_no_change.txt | 12 +
...are_converted_to_self_closing_elements.txt | 79 +
...n_new_lines__the_children_are_indented.txt | 15 +
templ/parser/v2/fuzz.sh | 2 +
templ/parser/v2/gocodeparser.go | 45 +
templ/parser/v2/gocodeparser_test.go | 137 +
templ/parser/v2/gocommentparser.go | 63 +
templ/parser/v2/gocommentparser_test.go | 101 +
templ/parser/v2/goexpression/fuzz.sh | 18 +
templ/parser/v2/goexpression/parse.go | 343 +
templ/parser/v2/goexpression/parse_test.go | 781 +
.../parser/v2/goexpression/parsebench_test.go | 105 +
templ/parser/v2/goexpression/scanner.go | 180 +
.../fuzz/FuzzCaseDefault/3c6f43d3ec8a900b | 2 +
.../fuzz/FuzzCaseDefault/986e7bc325c7890c | 2 +
.../fuzz/FuzzCaseDefault/d8a9a4cd9fc8cb11 | 2 +
.../fuzz/FuzzExpression/ac5d99902f5e7914 | 2 +
.../testdata/fuzz/FuzzFuncs/46c9ed6c9d427bd2 | 2 +
.../testdata/fuzz/FuzzIf/7a174efc13e3fdd6 | 2 +
templ/parser/v2/goparser.go | 70 +
templ/parser/v2/htmlcommentparser.go | 39 +
templ/parser/v2/htmlcommentparser_test.go | 110 +
templ/parser/v2/ifexpressionparser.go | 135 +
templ/parser/v2/ifexpressionparser_test.go | 649 +
templ/parser/v2/packageparser.go | 32 +
templ/parser/v2/packageparser_test.go | 100 +
templ/parser/v2/parser.go | 50 +
templ/parser/v2/raw.go | 70 +
templ/parser/v2/raw_test.go | 125 +
templ/parser/v2/scripttemplateparser.go | 88 +
templ/parser/v2/scripttemplateparser_test.go | 296 +
templ/parser/v2/sourcemap.go | 134 +
templ/parser/v2/sourcemap_test.go | 174 +
templ/parser/v2/stringexpressionparser.go | 39 +
.../parser/v2/stringexpressionparser_test.go | 108 +
templ/parser/v2/structure.go | 42 +
templ/parser/v2/switchexpressionparser.go | 102 +
.../parser/v2/switchexpressionparser_test.go | 349 +
templ/parser/v2/templatefile.go | 193 +
templ/parser/v2/templatefile_test.go | 195 +
templ/parser/v2/templateparser.go | 149 +
templ/parser/v2/templateparser_test.go | 898 +
templ/parser/v2/templelementparser.go | 52 +
templ/parser/v2/templelementparser_test.go | 484 +
templ/parser/v2/textparser.go | 53 +
templ/parser/v2/textparser_test.go | 123 +
templ/parser/v2/types.go | 1213 +
templ/parser/v2/whitespaceparser.go | 12 +
templ/push-tag.sh | 14 +
templ/runtime.go | 638 +
templ/runtime/buffer.go | 62 +
templ/runtime/buffer_test.go | 79 +
templ/runtime/bufferpool.go | 38 +
templ/runtime/bufferpool_test.go | 59 +
templ/runtime/builder.go | 8 +
templ/runtime/builder_test.go | 11 +
templ/runtime/runtime.go | 21 +
templ/runtime/runtime_test.go | 22 +
templ/runtime/styleattribute.go | 217 +
templ/runtime/styleattribute_test.go | 333 +
templ/runtime/watchmode.go | 104 +
templ/runtime_test.go | 595 +
templ/safehtml/style.go | 199 +
templ/safehtml/style_test.go | 362 +
templ/scripttemplate.go | 151 +
templ/scripttemplate_test.go | 98 +
templ/storybook/.gitignore | 3 +
templ/storybook/_example/cdk/.gitignore | 19 +
templ/storybook/_example/cdk/README.md | 14 +
templ/storybook/_example/cdk/cdk.go | 87 +
templ/storybook/_example/cdk/cdk.json | 18 +
templ/storybook/_example/cdk/deploy.sh | 4 +
templ/storybook/_example/go.mod | 26 +
templ/storybook/_example/go.sum | 55 +
templ/storybook/_example/lambda/main.go | 89 +
templ/storybook/_example/local/main.go | 17 +
templ/storybook/_example/run.sh | 1 +
templ/storybook/_example/storybook.go | 16 +
templ/storybook/_example/templates.templ | 19 +
templ/storybook/_example/templates_templ.go | 97 +
templ/storybook/_package.json | 7 +
templ/storybook/storybook.go | 540 +
templ/templ.png | Bin 0 -> 15528 bytes
templ/turbo/stream.go | 70 +
templ/turbo/stream.templ | 13 +
templ/turbo/stream_templ.go | 129 +
templ/turbo/stream_test.go | 118 +
templ/url.go | 20 +
templ/url_test.go | 57 +
templ/version.go | 10 +
templ/watchmode.go | 103 +
822 files changed, 134218 insertions(+)
create mode 100644 .gitignore
create mode 100644 assets/css/colors.css
create mode 100644 assets/css/grid_layout.css
create mode 100644 assets/css/style.css
create mode 100644 assets/fonts/.gitignore
create mode 100644 assets/fonts/lato/Lato-Black.ttf
create mode 100644 assets/fonts/lato/Lato-BlackItalic.ttf
create mode 100644 assets/fonts/lato/Lato-Bold.ttf
create mode 100644 assets/fonts/lato/Lato-BoldItalic.ttf
create mode 100644 assets/fonts/lato/Lato-Italic.ttf
create mode 100644 assets/fonts/lato/Lato-Light.ttf
create mode 100644 assets/fonts/lato/Lato-LightItalic.ttf
create mode 100644 assets/fonts/lato/Lato-Regular.ttf
create mode 100644 assets/fonts/lato/Lato-Thin.ttf
create mode 100644 assets/fonts/lato/Lato-ThinItalic.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-Black.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-Bold.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-ExtraBold.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-Light.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-Medium.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-Regular.ttf
create mode 100644 assets/fonts/lato/MPLUSRounded1c-Thin.ttf
create mode 100644 assets/img/failed-exam.svg
create mode 100644 assets/img/icon/android-chrome-192x192.png
create mode 100644 assets/img/icon/android-chrome-512x512.png
create mode 100644 assets/img/icon/apple-touch-icon.png
create mode 100644 assets/img/icon/favicon-16x16.png
create mode 100644 assets/img/icon/favicon-32x32.png
create mode 100644 assets/img/icon/favicon.ico
create mode 100644 assets/img/icon/site.webmanifest
create mode 100644 assets/img/id-card-negated.png
create mode 100644 assets/img/id-card.png
create mode 100644 assets/img/key-negated.png
create mode 100644 assets/img/key.png
create mode 100644 assets/img/learnlytics.png
create mode 100644 assets/img/learnlytics.svg
create mode 100644 assets/img/smiley-x.svg
create mode 100644 assets/img/user.jpeg
create mode 100644 assets/js/chart.js
create mode 100644 assets/js/chartUtils.js
create mode 100644 assets/js/htmx.min.js
create mode 100644 assets/js/utils.js
create mode 100644 assets/learnlytics.png
create mode 100644 components/charts.templ
create mode 100644 components/charts_templ.go
create mode 100644 components/components.templ
create mode 100644 components/components_templ.go
create mode 100644 components/go.mod
create mode 100644 components/go.sum
create mode 100644 db/go.mod
create mode 100644 db/go.sum
create mode 100644 db/model.go
create mode 100644 go.mod
create mode 100644 go.sum
create mode 100644 handlers/go.mod
create mode 100644 handlers/handler.go
create mode 100644 main.go
create mode 100644 templ/.dockerignore
create mode 100644 templ/.envrc
create mode 100644 templ/.github/FUNDING.yml
create mode 100644 templ/.github/ISSUE_TEMPLATE/bug_report.md
create mode 100644 templ/.github/workflows/ci.yml
create mode 100644 templ/.github/workflows/docs.yaml
create mode 100644 templ/.github/workflows/release.yml
create mode 100644 templ/.gitignore
create mode 100644 templ/.goreleaser.yaml
create mode 100644 templ/.ignore
create mode 100644 templ/.version
create mode 100644 templ/.vscode/settings.json
create mode 100644 templ/CODE_OF_CONDUCT.md
create mode 100644 templ/CONTRIBUTING.md
create mode 100644 templ/LICENSE
create mode 100644 templ/README.md
create mode 100644 templ/SECURITY.md
create mode 100644 templ/benchmarks/react/.gitignore
create mode 100644 templ/benchmarks/react/README.md
create mode 100644 templ/benchmarks/react/package-lock.json
create mode 100644 templ/benchmarks/react/package.json
create mode 100644 templ/benchmarks/react/src/index.jsx
create mode 100644 templ/benchmarks/templ/README.md
create mode 100644 templ/benchmarks/templ/data.go
create mode 100644 templ/benchmarks/templ/render_test.go
create mode 100644 templ/benchmarks/templ/template.templ
create mode 100644 templ/benchmarks/templ/template_templ.go
create mode 100644 templ/cfg/cfg.go
create mode 100644 templ/cmd/templ/fmtcmd/main.go
create mode 100644 templ/cmd/templ/fmtcmd/main_test.go
create mode 100644 templ/cmd/templ/fmtcmd/testdata.txtar
create mode 100644 templ/cmd/templ/generatecmd/cmd.go
create mode 100644 templ/cmd/templ/generatecmd/eventhandler.go
create mode 100644 templ/cmd/templ/generatecmd/fatalerror.go
create mode 100644 templ/cmd/templ/generatecmd/main.go
create mode 100644 templ/cmd/templ/generatecmd/main_test.go
create mode 100644 templ/cmd/templ/generatecmd/modcheck/modcheck.go
create mode 100644 templ/cmd/templ/generatecmd/modcheck/modcheck_test.go
create mode 100644 templ/cmd/templ/generatecmd/proxy/proxy.go
create mode 100644 templ/cmd/templ/generatecmd/proxy/proxy_test.go
create mode 100644 templ/cmd/templ/generatecmd/proxy/script.js
create mode 100644 templ/cmd/templ/generatecmd/run/run_test.go
create mode 100644 templ/cmd/templ/generatecmd/run/run_unix.go
create mode 100644 templ/cmd/templ/generatecmd/run/run_windows.go
create mode 100644 templ/cmd/templ/generatecmd/run/testprogram/go.mod.embed
create mode 100644 templ/cmd/templ/generatecmd/run/testprogram/main.go
create mode 100644 templ/cmd/templ/generatecmd/sse/server.go
create mode 100644 templ/cmd/templ/generatecmd/symlink/symlink_test.go
create mode 100644 templ/cmd/templ/generatecmd/test-eventhandler/eventhandler_test.go
create mode 100644 templ/cmd/templ/generatecmd/test-eventhandler/multiple_errors.templ.error
create mode 100644 templ/cmd/templ/generatecmd/test-eventhandler/single_error.templ.error
create mode 100644 templ/cmd/templ/generatecmd/testwatch/generate_test.go
create mode 100644 templ/cmd/templ/generatecmd/testwatch/testdata/go.mod.embed
create mode 100644 templ/cmd/templ/generatecmd/testwatch/testdata/go.sum
create mode 100644 templ/cmd/templ/generatecmd/testwatch/testdata/main.go
create mode 100644 templ/cmd/templ/generatecmd/testwatch/testdata/templates.templ
create mode 100644 templ/cmd/templ/generatecmd/testwatch/testdata/templates_templ.go
create mode 100644 templ/cmd/templ/generatecmd/watcher/watch.go
create mode 100644 templ/cmd/templ/generatecmd/watcher/watch_test.go
create mode 100644 templ/cmd/templ/imports/process.go
create mode 100644 templ/cmd/templ/imports/process_test.go
create mode 100644 templ/cmd/templ/imports/testdata/comments.txtar
create mode 100644 templ/cmd/templ/imports/testdata/commentsbeforepackage.txtar
create mode 100644 templ/cmd/templ/imports/testdata/deleteimports.txtar
create mode 100644 templ/cmd/templ/imports/testdata/extraspace.txtar
create mode 100644 templ/cmd/templ/imports/testdata/groups.txtar
create mode 100644 templ/cmd/templ/imports/testdata/groupsmanynewlines.txtar
create mode 100644 templ/cmd/templ/imports/testdata/header.txtar
create mode 100644 templ/cmd/templ/imports/testdata/namedimportsadd.txtar
create mode 100644 templ/cmd/templ/imports/testdata/namedimportsremoved.txtar
create mode 100644 templ/cmd/templ/imports/testdata/noimports.txtar
create mode 100644 templ/cmd/templ/imports/testdata/noimportscode.txtar
create mode 100644 templ/cmd/templ/imports/testdata/stringexp.txtar
create mode 100644 templ/cmd/templ/imports/testdata/twoimports.txtar
create mode 100644 templ/cmd/templ/infocmd/main.go
create mode 100644 templ/cmd/templ/lspcmd/httpdebug/handler.go
create mode 100644 templ/cmd/templ/lspcmd/httpdebug/list.templ
create mode 100644 templ/cmd/templ/lspcmd/httpdebug/list_templ.go
create mode 100644 templ/cmd/templ/lspcmd/lsp_test.go
create mode 100644 templ/cmd/templ/lspcmd/lspdiff/lspdiff.go
create mode 100644 templ/cmd/templ/lspcmd/main.go
create mode 100644 templ/cmd/templ/lspcmd/pls/main.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/client.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/diagnosticcache.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/documentcontents.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/documentcontents_test.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/import_test.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/rewrite.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/server.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/snippets.go
create mode 100644 templ/cmd/templ/lspcmd/proxy/sourcemapcache.go
create mode 100644 templ/cmd/templ/lspcmd/stdrwc.go
create mode 100644 templ/cmd/templ/main.go
create mode 100644 templ/cmd/templ/main_test.go
create mode 100644 templ/cmd/templ/processor/processor.go
create mode 100644 templ/cmd/templ/processor/processor_test.go
create mode 100644 templ/cmd/templ/sloghandler/handler.go
create mode 100644 templ/cmd/templ/testproject/testdata/css-classes/classes.go
create mode 100644 templ/cmd/templ/testproject/testdata/go.mod.embed
create mode 100644 templ/cmd/templ/testproject/testdata/go.sum
create mode 100644 templ/cmd/templ/testproject/testdata/main.go
create mode 100644 templ/cmd/templ/testproject/testdata/remotechild.templ
create mode 100644 templ/cmd/templ/testproject/testdata/remotechild_templ.go
create mode 100644 templ/cmd/templ/testproject/testdata/remoteparent.templ
create mode 100644 templ/cmd/templ/testproject/testdata/remoteparent_templ.go
create mode 100644 templ/cmd/templ/testproject/testdata/templates.templ
create mode 100644 templ/cmd/templ/testproject/testdata/templates_templ.go
create mode 100644 templ/cmd/templ/testproject/testproject.go
create mode 100644 templ/cmd/templ/visualize/sourcemapvisualisation.templ
create mode 100644 templ/cmd/templ/visualize/sourcemapvisualisation_templ.go
create mode 100644 templ/cmd/templ/visualize/types.go
create mode 100644 templ/cosign.pub
create mode 100644 templ/docs/.gitignore
create mode 100644 templ/docs/README.md
create mode 100644 templ/docs/babel.config.js
create mode 100644 templ/docs/docs/02-quick-start/01-installation.md
create mode 100644 templ/docs/docs/02-quick-start/02-creating-a-simple-templ-component.md
create mode 100644 templ/docs/docs/02-quick-start/03-running-your-first-templ-application.md
create mode 100644 templ/docs/docs/02-quick-start/_category_.json
create mode 100644 templ/docs/docs/03-syntax-and-usage/01-basic-syntax.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/02-elements.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/03-attributes.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/04-expressions.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/05-statements.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/06-if-else.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/07-switch.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/08-loops.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/09-raw-go.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/10-template-composition.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/11-css-style-management.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/12-script-templates.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/13-comments.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/14-context.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/15-using-with-go-templates.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/16-rendering-raw-html.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/17-using-react-with-templ.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/18-render-once.md
create mode 100644 templ/docs/docs/03-syntax-and-usage/_category_.json
create mode 100644 templ/docs/docs/04-core-concepts/01-components.md
create mode 100644 templ/docs/docs/04-core-concepts/02-template-generation.md
create mode 100644 templ/docs/docs/04-core-concepts/03-testing.md
create mode 100644 templ/docs/docs/04-core-concepts/04-view-models.md
create mode 100644 templ/docs/docs/04-core-concepts/_category_.json
create mode 100644 templ/docs/docs/05-server-side-rendering/01-creating-an-http-server-with-templ.md
create mode 100644 templ/docs/docs/05-server-side-rendering/02-example-counter-application.md
create mode 100644 templ/docs/docs/05-server-side-rendering/03-htmx.md
create mode 100644 templ/docs/docs/05-server-side-rendering/04-datastar.md
create mode 100644 templ/docs/docs/05-server-side-rendering/05-streaming.md
create mode 100644 templ/docs/docs/05-server-side-rendering/_category_.json
create mode 100644 templ/docs/docs/06-static-rendering/01-generating-static-html-files-with-templ.md
create mode 100644 templ/docs/docs/06-static-rendering/02-blog-example.md
create mode 100644 templ/docs/docs/06-static-rendering/03-deploying-static-files.md
create mode 100644 templ/docs/docs/06-static-rendering/_category_.json
create mode 100644 templ/docs/docs/07-project-structure/01-project-structure.md
create mode 100644 templ/docs/docs/07-project-structure/_category_.json
create mode 100644 templ/docs/docs/08-hosting-and-deployment/01-hosting-on-aws-lambda.md
create mode 100644 templ/docs/docs/08-hosting-and-deployment/02-hosting-using-docker.md
create mode 100644 templ/docs/docs/08-hosting-and-deployment/_category_.json
create mode 100644 templ/docs/docs/09-developer-tools/01-cli.md
create mode 100644 templ/docs/docs/09-developer-tools/02-ide-support.md
create mode 100644 templ/docs/docs/09-developer-tools/03-live-reload.md
create mode 100644 templ/docs/docs/09-developer-tools/04-live-reload-with-other-tools.md
create mode 100644 templ/docs/docs/09-developer-tools/05-llm.md
create mode 100644 templ/docs/docs/09-developer-tools/06-cicd.md
create mode 100644 templ/docs/docs/09-developer-tools/_category_.json
create mode 100644 templ/docs/docs/10-security/01-injection-attacks.md
create mode 100644 templ/docs/docs/10-security/02-content-security-policy.md
create mode 100644 templ/docs/docs/10-security/03-code-signing.md
create mode 100644 templ/docs/docs/10-security/_category_.json
create mode 100644 templ/docs/docs/11-media/_category_.json
create mode 100644 templ/docs/docs/11-media/index.md
create mode 100644 templ/docs/docs/12-integrations/01-web-frameworks.md
create mode 100644 templ/docs/docs/12-integrations/02-internationalization.md
create mode 100644 templ/docs/docs/12-integrations/_category_.json
create mode 100644 templ/docs/docs/13-experimental/01-overview.md
create mode 100644 templ/docs/docs/13-experimental/02-urlbuilder.md
create mode 100644 templ/docs/docs/13-experimental/_category_.json
create mode 100644 templ/docs/docs/14-help-and-community/_category_.json
create mode 100644 templ/docs/docs/14-help-and-community/index.md
create mode 100644 templ/docs/docs/15-faq/_category_.json
create mode 100644 templ/docs/docs/15-faq/index.md
create mode 100644 templ/docs/docs/go.mod
create mode 100644 templ/docs/docs/go.sum
create mode 100644 templ/docs/docs/index.md
create mode 100644 templ/docs/docs/main.go
create mode 100644 templ/docs/docusaurus.config.js
create mode 100644 templ/docs/package-lock.json
create mode 100644 templ/docs/package.json
create mode 100644 templ/docs/sidebars.js
create mode 100644 templ/docs/src/css/custom.css
create mode 100644 templ/docs/src/theme/prism-include-languages.js
create mode 100644 templ/docs/static/.nojekyll
create mode 100644 templ/docs/static/img/docusaurus.png
create mode 100644 templ/docs/static/img/favicon.ico
create mode 100644 templ/docs/static/img/logo.svg
create mode 100644 templ/docs/static/img/shadowdom.webm
create mode 100644 templ/docs/static/img/social-card.jpg
create mode 100644 templ/docs/static/img/undraw_docusaurus_mountain.svg
create mode 100644 templ/docs/static/img/undraw_docusaurus_react.svg
create mode 100644 templ/docs/static/img/undraw_docusaurus_tree.svg
create mode 100644 templ/examples/blog/main.go
create mode 100644 templ/examples/blog/posts.templ
create mode 100644 templ/examples/blog/posts_templ.go
create mode 100644 templ/examples/blog/posts_test.go
create mode 100644 templ/examples/content-security-policy/main.go
create mode 100644 templ/examples/content-security-policy/templates.templ
create mode 100644 templ/examples/content-security-policy/templates_templ.go
create mode 100644 templ/examples/counter-basic/.dockerignore
create mode 100644 templ/examples/counter-basic/Dockerfile
create mode 100644 templ/examples/counter-basic/README.md
create mode 100644 templ/examples/counter-basic/assets/bulma.css
create mode 100644 templ/examples/counter-basic/assets/bulma.css.map
create mode 100644 templ/examples/counter-basic/assets/bulma.min.css
create mode 100644 templ/examples/counter-basic/assets/favicon/about.txt
create mode 100644 templ/examples/counter-basic/assets/favicon/android-chrome-192x192.png
create mode 100644 templ/examples/counter-basic/assets/favicon/android-chrome-512x512.png
create mode 100644 templ/examples/counter-basic/assets/favicon/apple-touch-icon.png
create mode 100644 templ/examples/counter-basic/assets/favicon/favicon-16x16.png
create mode 100644 templ/examples/counter-basic/assets/favicon/favicon-32x32.png
create mode 100644 templ/examples/counter-basic/assets/favicon/favicon.ico
create mode 100644 templ/examples/counter-basic/assets/favicon/site.webmanifest
create mode 100644 templ/examples/counter-basic/assets/logo.png
create mode 100644 templ/examples/counter-basic/components.templ
create mode 100644 templ/examples/counter-basic/components_templ.go
create mode 100644 templ/examples/counter-basic/fly.toml
create mode 100644 templ/examples/counter-basic/go.mod
create mode 100644 templ/examples/counter-basic/go.sum
create mode 100644 templ/examples/counter-basic/main.go
create mode 100644 templ/examples/counter/Dockerfile
create mode 100644 templ/examples/counter/README.md
create mode 100644 templ/examples/counter/assets/css/bulma.css
create mode 100644 templ/examples/counter/assets/css/bulma.css.map
create mode 100644 templ/examples/counter/assets/css/bulma.min.css
create mode 100644 templ/examples/counter/assets/favicon/about.txt
create mode 100644 templ/examples/counter/assets/favicon/android-chrome-192x192.png
create mode 100644 templ/examples/counter/assets/favicon/android-chrome-512x512.png
create mode 100644 templ/examples/counter/assets/favicon/apple-touch-icon.png
create mode 100644 templ/examples/counter/assets/favicon/favicon-16x16.png
create mode 100644 templ/examples/counter/assets/favicon/favicon-32x32.png
create mode 100644 templ/examples/counter/assets/favicon/favicon.ico
create mode 100644 templ/examples/counter/assets/favicon/site.webmanifest
create mode 100644 templ/examples/counter/assets/images/logo.png
create mode 100644 templ/examples/counter/assets/js/htmx.min.js
create mode 100644 templ/examples/counter/cdk/.gitignore
create mode 100644 templ/examples/counter/cdk/cdk.json
create mode 100644 templ/examples/counter/cdk/stack.go
create mode 100644 templ/examples/counter/components/components.templ
create mode 100644 templ/examples/counter/components/components_templ.go
create mode 100644 templ/examples/counter/db/db.go
create mode 100644 templ/examples/counter/go.mod
create mode 100644 templ/examples/counter/go.sum
create mode 100644 templ/examples/counter/handlers/default.go
create mode 100644 templ/examples/counter/lambda/main.go
create mode 100644 templ/examples/counter/main.go
create mode 100644 templ/examples/counter/services/count.go
create mode 100644 templ/examples/counter/session/session.go
create mode 100644 templ/examples/external-libraries/components.templ
create mode 100644 templ/examples/external-libraries/components_templ.go
create mode 100644 templ/examples/external-libraries/go.mod
create mode 100644 templ/examples/external-libraries/go.sum
create mode 100644 templ/examples/external-libraries/main.go
create mode 100644 templ/examples/hello-world-ssr/hello.templ
create mode 100644 templ/examples/hello-world-ssr/hello_templ.go
create mode 100644 templ/examples/hello-world-ssr/main.go
create mode 100644 templ/examples/hello-world-static/hello.templ
create mode 100644 templ/examples/hello-world-static/hello_templ.go
create mode 100644 templ/examples/hello-world-static/main.go
create mode 100644 templ/examples/integration-chi/go.mod
create mode 100644 templ/examples/integration-chi/go.sum
create mode 100644 templ/examples/integration-chi/home.templ
create mode 100644 templ/examples/integration-chi/home_templ.go
create mode 100644 templ/examples/integration-chi/main.go
create mode 100644 templ/examples/integration-echo/go.mod
create mode 100644 templ/examples/integration-echo/go.sum
create mode 100644 templ/examples/integration-echo/home.templ
create mode 100644 templ/examples/integration-echo/home_templ.go
create mode 100644 templ/examples/integration-echo/main.go
create mode 100644 templ/examples/integration-gin/gintemplrenderer/renderer.go
create mode 100644 templ/examples/integration-gin/go.mod
create mode 100644 templ/examples/integration-gin/go.sum
create mode 100644 templ/examples/integration-gin/home.html
create mode 100644 templ/examples/integration-gin/home.templ
create mode 100644 templ/examples/integration-gin/home_templ.go
create mode 100644 templ/examples/integration-gin/main.go
create mode 100644 templ/examples/integration-go-echarts/components.templ
create mode 100644 templ/examples/integration-go-echarts/components_templ.go
create mode 100644 templ/examples/integration-go-echarts/go.mod
create mode 100644 templ/examples/integration-go-echarts/go.sum
create mode 100644 templ/examples/integration-go-echarts/main.go
create mode 100644 templ/examples/integration-gofiber/README.md
create mode 100644 templ/examples/integration-gofiber/go.mod
create mode 100644 templ/examples/integration-gofiber/go.sum
create mode 100644 templ/examples/integration-gofiber/home.templ
create mode 100644 templ/examples/integration-gofiber/home_templ.go
create mode 100644 templ/examples/integration-gofiber/main.go
create mode 100644 templ/examples/integration-react/README.md
create mode 100644 templ/examples/integration-react/components.templ
create mode 100644 templ/examples/integration-react/components_templ.go
create mode 100644 templ/examples/integration-react/flake.lock
create mode 100644 templ/examples/integration-react/flake.nix
create mode 100644 templ/examples/integration-react/go.mod
create mode 100644 templ/examples/integration-react/go.sum
create mode 100644 templ/examples/integration-react/main.go
create mode 100644 templ/examples/integration-react/react/.gitignore
create mode 100644 templ/examples/integration-react/react/components.tsx
create mode 100644 templ/examples/integration-react/react/index.ts
create mode 100644 templ/examples/integration-react/react/package-lock.json
create mode 100644 templ/examples/integration-react/react/package.json
create mode 100644 templ/examples/integration-react/react/tsconfig.json
create mode 100644 templ/examples/integration-react/static/index.js
create mode 100644 templ/examples/internationalization/components.templ
create mode 100644 templ/examples/internationalization/components_templ.go
create mode 100644 templ/examples/internationalization/go.mod
create mode 100644 templ/examples/internationalization/go.sum
create mode 100644 templ/examples/internationalization/locales/de/de.yaml
create mode 100644 templ/examples/internationalization/locales/en/en.yaml
create mode 100644 templ/examples/internationalization/locales/locales.go
create mode 100644 templ/examples/internationalization/locales/zh-cn/zh-cn.yaml
create mode 100644 templ/examples/internationalization/main.go
create mode 100644 templ/examples/static-generator/.gitignore
create mode 100644 templ/examples/static-generator/Dockerfile
create mode 100644 templ/examples/static-generator/blog.templ
create mode 100644 templ/examples/static-generator/blog_templ.go
create mode 100644 templ/examples/static-generator/fly.toml
create mode 100644 templ/examples/static-generator/go.mod
create mode 100644 templ/examples/static-generator/go.sum
create mode 100644 templ/examples/static-generator/main.go
create mode 100644 templ/examples/streaming/go.mod
create mode 100644 templ/examples/streaming/go.sum
create mode 100644 templ/examples/streaming/main.templ
create mode 100644 templ/examples/streaming/main_templ.go
create mode 100644 templ/examples/suspense/go.mod
create mode 100644 templ/examples/suspense/go.sum
create mode 100644 templ/examples/suspense/main.templ
create mode 100644 templ/examples/suspense/main_templ.go
create mode 100644 templ/examples/syntax-and-usage/components/main.go
create mode 100644 templ/examples/syntax-and-usage/components/templsyntax.templ
create mode 100644 templ/examples/syntax-and-usage/components/templsyntax_templ.go
create mode 100644 templ/examples/typescript/README.md
create mode 100644 templ/examples/typescript/assets/js/index.js
create mode 100644 templ/examples/typescript/components/index.templ
create mode 100644 templ/examples/typescript/components/index_templ.go
create mode 100644 templ/examples/typescript/go.mod
create mode 100644 templ/examples/typescript/go.sum
create mode 100644 templ/examples/typescript/main.go
create mode 100644 templ/examples/typescript/ts/package-lock.json
create mode 100644 templ/examples/typescript/ts/package.json
create mode 100644 templ/examples/typescript/ts/src/index.ts
create mode 100644 templ/flake.lock
create mode 100644 templ/flake.nix
create mode 100644 templ/flush.go
create mode 100644 templ/flush_test.go
create mode 100644 templ/generator/generator.go
create mode 100644 templ/generator/generator_test.go
create mode 100644 templ/generator/htmldiff/diff.go
create mode 100644 templ/generator/rangewriter.go
create mode 100644 templ/generator/rangewriter_test.go
create mode 100644 templ/generator/test-a-href/expected.html
create mode 100644 templ/generator/test-a-href/render_test.go
create mode 100644 templ/generator/test-a-href/template.templ
create mode 100644 templ/generator/test-a-href/template_templ.go
create mode 100644 templ/generator/test-attribute-errors/expected.html
create mode 100644 templ/generator/test-attribute-errors/render_test.go
create mode 100644 templ/generator/test-attribute-errors/template.templ
create mode 100644 templ/generator/test-attribute-errors/template_templ.go
create mode 100644 templ/generator/test-attribute-escaping/expected.html
create mode 100644 templ/generator/test-attribute-escaping/render_test.go
create mode 100644 templ/generator/test-attribute-escaping/template.templ
create mode 100644 templ/generator/test-attribute-escaping/template_templ.go
create mode 100644 templ/generator/test-call/expected.html
create mode 100644 templ/generator/test-call/render_test.go
create mode 100644 templ/generator/test-call/template.templ
create mode 100644 templ/generator/test-call/template_templ.go
create mode 100644 templ/generator/test-cancelled-context/render_test.go
create mode 100644 templ/generator/test-cancelled-context/template.templ
create mode 100644 templ/generator/test-cancelled-context/template_templ.go
create mode 100644 templ/generator/test-complex-attributes/expected.html
create mode 100644 templ/generator/test-complex-attributes/render_test.go
create mode 100644 templ/generator/test-complex-attributes/template.templ
create mode 100644 templ/generator/test-complex-attributes/template_templ.go
create mode 100644 templ/generator/test-constant-attribute-escaping/expected.html
create mode 100644 templ/generator/test-constant-attribute-escaping/render_test.go
create mode 100644 templ/generator/test-constant-attribute-escaping/template.templ
create mode 100644 templ/generator/test-constant-attribute-escaping/template_templ.go
create mode 100644 templ/generator/test-context/expected.html
create mode 100644 templ/generator/test-context/render_test.go
create mode 100644 templ/generator/test-context/template.templ
create mode 100644 templ/generator/test-context/template_templ.go
create mode 100644 templ/generator/test-css-expression/constants.go
create mode 100644 templ/generator/test-css-expression/render_test.go
create mode 100644 templ/generator/test-css-expression/template.templ
create mode 100644 templ/generator/test-css-expression/template_templ.go
create mode 100644 templ/generator/test-css-middleware/expected.html
create mode 100644 templ/generator/test-css-middleware/render_test.go
create mode 100644 templ/generator/test-css-middleware/template.templ
create mode 100644 templ/generator/test-css-middleware/template_templ.go
create mode 100644 templ/generator/test-css-usage/expected.html
create mode 100644 templ/generator/test-css-usage/render_test.go
create mode 100644 templ/generator/test-css-usage/template.templ
create mode 100644 templ/generator/test-css-usage/template_templ.go
create mode 100644 templ/generator/test-doctype/expected.html
create mode 100644 templ/generator/test-doctype/render_test.go
create mode 100644 templ/generator/test-doctype/template.templ
create mode 100644 templ/generator/test-doctype/template_templ.go
create mode 100644 templ/generator/test-element-attributes/data.go
create mode 100644 templ/generator/test-element-attributes/expected.html
create mode 100644 templ/generator/test-element-attributes/render_test.go
create mode 100644 templ/generator/test-element-attributes/template.templ
create mode 100644 templ/generator/test-element-attributes/template_templ.go
create mode 100644 templ/generator/test-elseif/data.go
create mode 100644 templ/generator/test-elseif/expected.html
create mode 100644 templ/generator/test-elseif/render_test.go
create mode 100644 templ/generator/test-elseif/template.templ
create mode 100644 templ/generator/test-elseif/template_templ.go
create mode 100644 templ/generator/test-for/expected.html
create mode 100644 templ/generator/test-for/render_test.go
create mode 100644 templ/generator/test-for/template.templ
create mode 100644 templ/generator/test-for/template_templ.go
create mode 100644 templ/generator/test-form-action/expected.html
create mode 100644 templ/generator/test-form-action/render_test.go
create mode 100644 templ/generator/test-form-action/template.templ
create mode 100644 templ/generator/test-form-action/template_templ.go
create mode 100644 templ/generator/test-go-comments/expected.html
create mode 100644 templ/generator/test-go-comments/render_test.go
create mode 100644 templ/generator/test-go-comments/template.templ
create mode 100644 templ/generator/test-go-comments/template_templ.go
create mode 100644 templ/generator/test-go-template-in-templ/expected.html
create mode 100644 templ/generator/test-go-template-in-templ/render_test.go
create mode 100644 templ/generator/test-go-template-in-templ/template.templ
create mode 100644 templ/generator/test-go-template-in-templ/template_templ.go
create mode 100644 templ/generator/test-html-comment/expected.html
create mode 100644 templ/generator/test-html-comment/render_test.go
create mode 100644 templ/generator/test-html-comment/template.templ
create mode 100644 templ/generator/test-html-comment/template_templ.go
create mode 100644 templ/generator/test-html/data.go
create mode 100644 templ/generator/test-html/expected.html
create mode 100644 templ/generator/test-html/render_test.go
create mode 100644 templ/generator/test-html/template.templ
create mode 100644 templ/generator/test-html/template_templ.go
create mode 100644 templ/generator/test-if/data.go
create mode 100644 templ/generator/test-if/expected.html
create mode 100644 templ/generator/test-if/render_test.go
create mode 100644 templ/generator/test-if/template.templ
create mode 100644 templ/generator/test-if/template_templ.go
create mode 100644 templ/generator/test-ifelse/data.go
create mode 100644 templ/generator/test-ifelse/expected.html
create mode 100644 templ/generator/test-ifelse/render_test.go
create mode 100644 templ/generator/test-ifelse/template.templ
create mode 100644 templ/generator/test-ifelse/template_templ.go
create mode 100644 templ/generator/test-import/expected.html
create mode 100644 templ/generator/test-import/render_test.go
create mode 100644 templ/generator/test-import/template.templ
create mode 100644 templ/generator/test-import/template_templ.go
create mode 100644 templ/generator/test-js-unsafe-usage/expected.html
create mode 100644 templ/generator/test-js-unsafe-usage/render_test.go
create mode 100644 templ/generator/test-js-unsafe-usage/template.templ
create mode 100644 templ/generator/test-js-unsafe-usage/template_templ.go
create mode 100644 templ/generator/test-js-usage/expected.html
create mode 100644 templ/generator/test-js-usage/render_test.go
create mode 100644 templ/generator/test-js-usage/template.templ
create mode 100644 templ/generator/test-js-usage/template_templ.go
create mode 100644 templ/generator/test-method/expected.html
create mode 100644 templ/generator/test-method/render_test.go
create mode 100644 templ/generator/test-method/template.templ
create mode 100644 templ/generator/test-method/template_templ.go
create mode 100644 templ/generator/test-once/expected.html
create mode 100644 templ/generator/test-once/render_test.go
create mode 100644 templ/generator/test-once/template.templ
create mode 100644 templ/generator/test-once/template_templ.go
create mode 100644 templ/generator/test-only-scripts/expected.html
create mode 100644 templ/generator/test-only-scripts/render_test.go
create mode 100644 templ/generator/test-only-scripts/template.templ
create mode 100644 templ/generator/test-only-scripts/template_templ.go
create mode 100644 templ/generator/test-raw-elements/expected.html
create mode 100644 templ/generator/test-raw-elements/render_test.go
create mode 100644 templ/generator/test-raw-elements/template.templ
create mode 100644 templ/generator/test-raw-elements/template_templ.go
create mode 100644 templ/generator/test-script-inline/expected.html
create mode 100644 templ/generator/test-script-inline/render_test.go
create mode 100644 templ/generator/test-script-inline/template.templ
create mode 100644 templ/generator/test-script-inline/template_templ.go
create mode 100644 templ/generator/test-script-usage-nonce/expected.html
create mode 100644 templ/generator/test-script-usage-nonce/render_test.go
create mode 100644 templ/generator/test-script-usage-nonce/template.templ
create mode 100644 templ/generator/test-script-usage-nonce/template_templ.go
create mode 100644 templ/generator/test-script-usage/expected.html
create mode 100644 templ/generator/test-script-usage/render_test.go
create mode 100644 templ/generator/test-script-usage/template.templ
create mode 100644 templ/generator/test-script-usage/template_templ.go
create mode 100644 templ/generator/test-spread-attributes/expected.html
create mode 100644 templ/generator/test-spread-attributes/render_test.go
create mode 100644 templ/generator/test-spread-attributes/template.templ
create mode 100644 templ/generator/test-spread-attributes/template_templ.go
create mode 100644 templ/generator/test-string-errors/expected.html
create mode 100644 templ/generator/test-string-errors/render_test.go
create mode 100644 templ/generator/test-string-errors/template.templ
create mode 100644 templ/generator/test-string-errors/template_templ.go
create mode 100644 templ/generator/test-string/expected.html
create mode 100644 templ/generator/test-string/render_test.go
create mode 100644 templ/generator/test-string/template.templ
create mode 100644 templ/generator/test-string/template_templ.go
create mode 100644 templ/generator/test-style-attribute/expected.html
create mode 100644 templ/generator/test-style-attribute/render_test.go
create mode 100644 templ/generator/test-style-attribute/template.templ
create mode 100644 templ/generator/test-style-attribute/template_templ.go
create mode 100644 templ/generator/test-switch/render_test.go
create mode 100644 templ/generator/test-switch/template.templ
create mode 100644 templ/generator/test-switch/template_templ.go
create mode 100644 templ/generator/test-switchdefault/render_test.go
create mode 100644 templ/generator/test-switchdefault/template.templ
create mode 100644 templ/generator/test-switchdefault/template_templ.go
create mode 100644 templ/generator/test-templ-element/expected.html
create mode 100644 templ/generator/test-templ-element/render_test.go
create mode 100644 templ/generator/test-templ-element/template.templ
create mode 100644 templ/generator/test-templ-element/template_templ.go
create mode 100644 templ/generator/test-templ-in-go-template/expected.html
create mode 100644 templ/generator/test-templ-in-go-template/render_test.go
create mode 100644 templ/generator/test-templ-in-go-template/template.templ
create mode 100644 templ/generator/test-templ-in-go-template/template_templ.go
create mode 100644 templ/generator/test-text-whitespace/render_test.go
create mode 100644 templ/generator/test-text-whitespace/template.templ
create mode 100644 templ/generator/test-text-whitespace/template_templ.go
create mode 100644 templ/generator/test-text/expected.html
create mode 100644 templ/generator/test-text/render_test.go
create mode 100644 templ/generator/test-text/template.templ
create mode 100644 templ/generator/test-text/template_templ.go
create mode 100644 templ/generator/test-void/expected.html
create mode 100644 templ/generator/test-void/render_test.go
create mode 100644 templ/generator/test-void/template.templ
create mode 100644 templ/generator/test-void/template_templ.go
create mode 100644 templ/generator/test-whitespace-around-go-keywords/render_test.go
create mode 100644 templ/generator/test-whitespace-around-go-keywords/template.templ
create mode 100644 templ/generator/test-whitespace-around-go-keywords/template_templ.go
create mode 100644 templ/get-version/main.go
create mode 100644 templ/go.mod
create mode 100644 templ/go.sum
create mode 100644 templ/handler.go
create mode 100644 templ/handler_test.go
create mode 100644 templ/ide-demo.gif
create mode 100644 templ/join.go
create mode 100644 templ/join_test.go
create mode 100644 templ/js.go
create mode 100644 templ/js_test.go
create mode 100644 templ/jsonscript.go
create mode 100644 templ/jsonscript_test.go
create mode 100644 templ/jsonstring.go
create mode 100644 templ/jsonstring_test.go
create mode 100644 templ/logo/logo.svg
create mode 100644 templ/lsp/LICENSE
create mode 100644 templ/lsp/README.md
create mode 100644 templ/lsp/jsonrpc2/codes.go
create mode 100644 templ/lsp/jsonrpc2/conn.go
create mode 100644 templ/lsp/jsonrpc2/errors.go
create mode 100644 templ/lsp/jsonrpc2/handler.go
create mode 100644 templ/lsp/jsonrpc2/jsonrpc2.go
create mode 100644 templ/lsp/jsonrpc2/jsonrpc2_test.go
create mode 100644 templ/lsp/jsonrpc2/message.go
create mode 100644 templ/lsp/jsonrpc2/serve.go
create mode 100644 templ/lsp/jsonrpc2/serve_test.go
create mode 100644 templ/lsp/jsonrpc2/stream.go
create mode 100644 templ/lsp/jsonrpc2/wire.go
create mode 100644 templ/lsp/jsonrpc2/wire_test.go
create mode 100644 templ/lsp/protocol/base.go
create mode 100644 templ/lsp/protocol/base_test.go
create mode 100644 templ/lsp/protocol/basic.go
create mode 100644 templ/lsp/protocol/basic_test.go
create mode 100644 templ/lsp/protocol/callhierarchy.go
create mode 100644 templ/lsp/protocol/callhierarchy_test.go
create mode 100644 templ/lsp/protocol/capabilities_client.go
create mode 100644 templ/lsp/protocol/capabilities_client_test.go
create mode 100644 templ/lsp/protocol/capabilities_server.go
create mode 100644 templ/lsp/protocol/client.go
create mode 100644 templ/lsp/protocol/context.go
create mode 100644 templ/lsp/protocol/deprecated.go
create mode 100644 templ/lsp/protocol/diagnostics.go
create mode 100644 templ/lsp/protocol/diagnostics_test.go
create mode 100644 templ/lsp/protocol/doc.go
create mode 100644 templ/lsp/protocol/errors.go
create mode 100644 templ/lsp/protocol/general.go
create mode 100644 templ/lsp/protocol/general_test.go
create mode 100644 templ/lsp/protocol/handler.go
create mode 100644 templ/lsp/protocol/language.go
create mode 100644 templ/lsp/protocol/language_test.go
create mode 100644 templ/lsp/protocol/progress.go
create mode 100644 templ/lsp/protocol/progress_test.go
create mode 100644 templ/lsp/protocol/protocol.go
create mode 100644 templ/lsp/protocol/registration.go
create mode 100644 templ/lsp/protocol/registration_test.go
create mode 100644 templ/lsp/protocol/selectionrange.go
create mode 100644 templ/lsp/protocol/semantic_token.go
create mode 100644 templ/lsp/protocol/server.go
create mode 100644 templ/lsp/protocol/text.go
create mode 100644 templ/lsp/protocol/text_test.go
create mode 100644 templ/lsp/protocol/util.go
create mode 100644 templ/lsp/protocol/util_test.go
create mode 100644 templ/lsp/protocol/version.go
create mode 100644 templ/lsp/protocol/window.go
create mode 100644 templ/lsp/protocol/window_test.go
create mode 100644 templ/lsp/protocol/workspace.go
create mode 100644 templ/lsp/protocol/workspace_test.go
create mode 100644 templ/lsp/uri/uri.go
create mode 100644 templ/lsp/uri/uri_test.go
create mode 100644 templ/lsp/xcontext/xcontext.go
create mode 100644 templ/once.go
create mode 100644 templ/once_test.go
create mode 100644 templ/parser/v2/allocs_test.go
create mode 100644 templ/parser/v2/benchmarks_test.go
create mode 100644 templ/parser/v2/benchmarktestdata/benchmark.txt
create mode 100644 templ/parser/v2/calltemplateparser.go
create mode 100644 templ/parser/v2/calltemplateparser_test.go
create mode 100644 templ/parser/v2/childrenparser.go
create mode 100644 templ/parser/v2/childrenparser_test.go
create mode 100644 templ/parser/v2/conditionalattributeparser.go
create mode 100644 templ/parser/v2/cssparser.go
create mode 100644 templ/parser/v2/cssparser_test.go
create mode 100644 templ/parser/v2/diagnostics.go
create mode 100644 templ/parser/v2/diagnostics_test.go
create mode 100644 templ/parser/v2/doctypeparser.go
create mode 100644 templ/parser/v2/doctypeparser_test.go
create mode 100644 templ/parser/v2/elementparser.go
create mode 100644 templ/parser/v2/elementparser_test.go
create mode 100644 templ/parser/v2/expressionparser.go
create mode 100644 templ/parser/v2/expressionparser_test.go
create mode 100644 templ/parser/v2/forexpressionparser.go
create mode 100644 templ/parser/v2/forexpressionparser_test.go
create mode 100644 templ/parser/v2/format_test.go
create mode 100644 templ/parser/v2/formattestdata/all_children_indented__with_nested_indentation__when_close_tag_is_on_new_line.txt
create mode 100644 templ/parser/v2/formattestdata/all_children_indented__with_nested_indentation__when_close_tag_is_on_same_line.txt
create mode 100644 templ/parser/v2/formattestdata/br_and_hr_all_on_one_line_are_not_placed_on_new_lines.txt
create mode 100644 templ/parser/v2/formattestdata/br_elements_are_placed_on_new_lines.txt
create mode 100644 templ/parser/v2/formattestdata/children_indented__closing_elm.txt
create mode 100644 templ/parser/v2/formattestdata/children_indented__first_child.txt
create mode 100644 templ/parser/v2/formattestdata/comments_are_preserved.txt
create mode 100644 templ/parser/v2/formattestdata/conditional_expressions_have_the_same_child_indentation_rules_as_regular_elements.txt
create mode 100644 templ/parser/v2/formattestdata/conditional_expressions_result_in_all_attrs_indented.txt
create mode 100644 templ/parser/v2/formattestdata/conditional_expressions_result_in_all_attrs_indented__2.txt
create mode 100644 templ/parser/v2/formattestdata/conditional_expressions_with_else_blocks_are_also_formatted.txt
create mode 100644 templ/parser/v2/formattestdata/constant_attributes_prerfer_double_quotes__but_use_single_quotes_if_required.txt
create mode 100644 templ/parser/v2/formattestdata/css_is_indented_by_one_level.txt
create mode 100644 templ/parser/v2/formattestdata/css_whitespace_is_tidied.txt
create mode 100644 templ/parser/v2/formattestdata/cssarguments_multiline.txt
create mode 100644 templ/parser/v2/formattestdata/empty_elements_stay_on_the_same_line.txt
create mode 100644 templ/parser/v2/formattestdata/for_loops_are_placed_on_a_new_line.txt
create mode 100644 templ/parser/v2/formattestdata/formatting_does_not_alter_whitespace.txt
create mode 100644 templ/parser/v2/formattestdata/go_expressions_are_formatted_by_the_go_formatter.txt
create mode 100644 templ/parser/v2/formattestdata/godoc_comments_are_preserved.txt
create mode 100644 templ/parser/v2/formattestdata/if_statements_are_placed_on_a_new_line.txt
create mode 100644 templ/parser/v2/formattestdata/inline_elements_are_not_placed_on_a_new_line.txt
create mode 100644 templ/parser/v2/formattestdata/multiline_string_literal_indentation_preserved.txt
create mode 100644 templ/parser/v2/formattestdata/non_empty_elements_with_children_that_are_all_on_the_same_line_are_not_split_into_multiple_lines.txt
create mode 100644 templ/parser/v2/formattestdata/raw_go_is_formatted.txt
create mode 100644 templ/parser/v2/formattestdata/script_tags_are_not_converted_to_self_closing_elements.txt
create mode 100644 templ/parser/v2/formattestdata/scriptarguments_multiline.txt
create mode 100644 templ/parser/v2/formattestdata/spacing_between_string_expressions_is_kept.txt
create mode 100644 templ/parser/v2/formattestdata/spacing_between_string_expressions_is_not_magically_added.txt
create mode 100644 templ/parser/v2/formattestdata/spacing_between_string_spreads_attributes_is_kept.txt
create mode 100644 templ/parser/v2/formattestdata/switch_statements_are_placed_on_a_new_line.txt
create mode 100644 templ/parser/v2/formattestdata/tables_are_formatted_well.txt
create mode 100644 templ/parser/v2/formattestdata/templ_expression_attributes_are_formatted_correctly_when_multiline.txt
create mode 100644 templ/parser/v2/formattestdata/templ_expression_elements_are_formatted_the_same_as_other_elements.txt
create mode 100644 templ/parser/v2/formattestdata/templatearguments_multiline_with_generics.txt
create mode 100644 templ/parser/v2/formattestdata/templatefile_can_be_round_tripped.txt
create mode 100644 templ/parser/v2/formattestdata/templatefile_can_start_with_comments.txt
create mode 100644 templ/parser/v2/formattestdata/templatefile_can_start_with_comments_and_whitespace.txt
create mode 100644 templ/parser/v2/formattestdata/templatefile_can_start_with_multiline_comments_and_whitespace.txt
create mode 100644 templ/parser/v2/formattestdata/templatefile_can_start_with_multiple_comments_and_whitespace.txt
create mode 100644 templ/parser/v2/formattestdata/templateheader_with_build_tags.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_multiline_block_containing_multiline_block.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_multiline_block_indentation.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_multiline_in_div.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_param_spacing.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_simple_block_indentation.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_simple_in_div.txt
create mode 100644 templ/parser/v2/formattestdata/templelement_simple_no_change.txt
create mode 100644 templ/parser/v2/formattestdata/void_elements_are_converted_to_self_closing_elements.txt
create mode 100644 templ/parser/v2/formattestdata/when_an_element_contains_children_that_are_on_new_lines__the_children_are_indented.txt
create mode 100755 templ/parser/v2/fuzz.sh
create mode 100644 templ/parser/v2/gocodeparser.go
create mode 100644 templ/parser/v2/gocodeparser_test.go
create mode 100644 templ/parser/v2/gocommentparser.go
create mode 100644 templ/parser/v2/gocommentparser_test.go
create mode 100755 templ/parser/v2/goexpression/fuzz.sh
create mode 100644 templ/parser/v2/goexpression/parse.go
create mode 100644 templ/parser/v2/goexpression/parse_test.go
create mode 100644 templ/parser/v2/goexpression/parsebench_test.go
create mode 100644 templ/parser/v2/goexpression/scanner.go
create mode 100644 templ/parser/v2/goexpression/testdata/fuzz/FuzzCaseDefault/3c6f43d3ec8a900b
create mode 100644 templ/parser/v2/goexpression/testdata/fuzz/FuzzCaseDefault/986e7bc325c7890c
create mode 100644 templ/parser/v2/goexpression/testdata/fuzz/FuzzCaseDefault/d8a9a4cd9fc8cb11
create mode 100644 templ/parser/v2/goexpression/testdata/fuzz/FuzzExpression/ac5d99902f5e7914
create mode 100644 templ/parser/v2/goexpression/testdata/fuzz/FuzzFuncs/46c9ed6c9d427bd2
create mode 100644 templ/parser/v2/goexpression/testdata/fuzz/FuzzIf/7a174efc13e3fdd6
create mode 100644 templ/parser/v2/goparser.go
create mode 100644 templ/parser/v2/htmlcommentparser.go
create mode 100644 templ/parser/v2/htmlcommentparser_test.go
create mode 100644 templ/parser/v2/ifexpressionparser.go
create mode 100644 templ/parser/v2/ifexpressionparser_test.go
create mode 100644 templ/parser/v2/packageparser.go
create mode 100644 templ/parser/v2/packageparser_test.go
create mode 100644 templ/parser/v2/parser.go
create mode 100644 templ/parser/v2/raw.go
create mode 100644 templ/parser/v2/raw_test.go
create mode 100644 templ/parser/v2/scripttemplateparser.go
create mode 100644 templ/parser/v2/scripttemplateparser_test.go
create mode 100644 templ/parser/v2/sourcemap.go
create mode 100644 templ/parser/v2/sourcemap_test.go
create mode 100644 templ/parser/v2/stringexpressionparser.go
create mode 100644 templ/parser/v2/stringexpressionparser_test.go
create mode 100644 templ/parser/v2/structure.go
create mode 100644 templ/parser/v2/switchexpressionparser.go
create mode 100644 templ/parser/v2/switchexpressionparser_test.go
create mode 100644 templ/parser/v2/templatefile.go
create mode 100644 templ/parser/v2/templatefile_test.go
create mode 100644 templ/parser/v2/templateparser.go
create mode 100644 templ/parser/v2/templateparser_test.go
create mode 100644 templ/parser/v2/templelementparser.go
create mode 100644 templ/parser/v2/templelementparser_test.go
create mode 100644 templ/parser/v2/textparser.go
create mode 100644 templ/parser/v2/textparser_test.go
create mode 100644 templ/parser/v2/types.go
create mode 100644 templ/parser/v2/whitespaceparser.go
create mode 100755 templ/push-tag.sh
create mode 100644 templ/runtime.go
create mode 100644 templ/runtime/buffer.go
create mode 100644 templ/runtime/buffer_test.go
create mode 100644 templ/runtime/bufferpool.go
create mode 100644 templ/runtime/bufferpool_test.go
create mode 100644 templ/runtime/builder.go
create mode 100644 templ/runtime/builder_test.go
create mode 100644 templ/runtime/runtime.go
create mode 100644 templ/runtime/runtime_test.go
create mode 100644 templ/runtime/styleattribute.go
create mode 100644 templ/runtime/styleattribute_test.go
create mode 100644 templ/runtime/watchmode.go
create mode 100644 templ/runtime_test.go
create mode 100644 templ/safehtml/style.go
create mode 100644 templ/safehtml/style_test.go
create mode 100644 templ/scripttemplate.go
create mode 100644 templ/scripttemplate_test.go
create mode 100644 templ/storybook/.gitignore
create mode 100644 templ/storybook/_example/cdk/.gitignore
create mode 100644 templ/storybook/_example/cdk/README.md
create mode 100644 templ/storybook/_example/cdk/cdk.go
create mode 100644 templ/storybook/_example/cdk/cdk.json
create mode 100755 templ/storybook/_example/cdk/deploy.sh
create mode 100644 templ/storybook/_example/go.mod
create mode 100644 templ/storybook/_example/go.sum
create mode 100644 templ/storybook/_example/lambda/main.go
create mode 100644 templ/storybook/_example/local/main.go
create mode 100755 templ/storybook/_example/run.sh
create mode 100644 templ/storybook/_example/storybook.go
create mode 100644 templ/storybook/_example/templates.templ
create mode 100644 templ/storybook/_example/templates_templ.go
create mode 100644 templ/storybook/_package.json
create mode 100644 templ/storybook/storybook.go
create mode 100644 templ/templ.png
create mode 100644 templ/turbo/stream.go
create mode 100644 templ/turbo/stream.templ
create mode 100644 templ/turbo/stream_templ.go
create mode 100644 templ/turbo/stream_test.go
create mode 100644 templ/url.go
create mode 100644 templ/url_test.go
create mode 100644 templ/version.go
create mode 100644 templ/watchmode.go
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/README.md b/README.md
index e69de29..cd9bb89 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,7 @@
+# Learnlytics - in GoLang
+
+## Links
+
+- [Postgres as Auth](https://medium.com/@ValentinMouret/simple-authentication-with-only-postgresql-ff38f5bf8b0d)
+- [templ](https://templ.guide/)
+- [htmx](https://htmx.org/docs/#inheritance)
diff --git a/assets/css/colors.css b/assets/css/colors.css
new file mode 100644
index 0000000..79f3163
--- /dev/null
+++ b/assets/css/colors.css
@@ -0,0 +1,9 @@
+:root {
+ --text-color: #E0E1DD;
+ --text-color-inverted: #1f1e22;
+ --background-color: #0d1b2a;
+ --focused: #f4a260;
+ --unfocused: #2ec4b6;
+ --menu-bg: #1b3857;
+ --menu-border: #668580;
+}
diff --git a/assets/css/grid_layout.css b/assets/css/grid_layout.css
new file mode 100644
index 0000000..3418761
--- /dev/null
+++ b/assets/css/grid_layout.css
@@ -0,0 +1,36 @@
+.two-split {
+ display: grid;
+ grid-template-columns: 1fr 4fr;
+ grid-auto-rows: 75px;
+}
+
+.three-split {
+ display: grid;
+ grid-template-columns: 1fr 4fr 1fr;
+ grid-auto-rows: 75px;
+}
+
+.grid-item-left {
+ display: flex;
+ align-items: center;
+ padding-left: 10%;
+ justify-content: left;
+}
+
+.grid-item-center {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.one-row {
+ grid-template-rows: 1fr;
+}
+
+.two-row {
+ grid-template-rows: 1fr 1fr;
+}
+
+.three-row {
+ grid-template-rows: 1fr 1fr 1fr;
+}
diff --git a/assets/css/style.css b/assets/css/style.css
new file mode 100644
index 0000000..8138944
--- /dev/null
+++ b/assets/css/style.css
@@ -0,0 +1,319 @@
+@font-face {
+ font-family: "Lato";
+ src:
+ url("/assets/fonts/lato/Lato-BlackItalic.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-Black.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-BoldItalic.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-Bold.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-Italic.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-LightItalic.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-Regular.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-ThinItalic.ttf") format("truetype"),
+ url("/assets/fonts/lato/Lato-Thin.ttf") format("truetype");
+ font-weight: normal;
+ font-style: normal;
+}
+
+.lato-thin {
+ font-family: "Lato", sans-serif;
+ font-weight: 100;
+ font-style: normal;
+}
+
+.lato-light {
+ font-family: "Lato", sans-serif;
+ font-weight: 300;
+ font-style: normal;
+}
+
+.lato-regular {
+ font-family: "Lato", sans-serif;
+ font-weight: 400;
+ font-style: normal;
+}
+
+.lato-bold {
+ font-family: "Lato", sans-serif;
+ font-weight: 700;
+ font-style: normal;
+}
+
+.lato-black {
+ font-family: "Lato", sans-serif;
+ font-weight: 900;
+ font-style: normal;
+}
+
+.lato-thin-italic {
+ font-family: "Lato", sans-serif;
+ font-weight: 100;
+ font-style: italic;
+}
+
+.lato-light-italic {
+ font-family: "Lato", sans-serif;
+ font-weight: 300;
+ font-style: italic;
+}
+
+.lato-regular-italic {
+ font-family: "Lato", sans-serif;
+ font-weight: 400;
+ font-style: italic;
+}
+
+.lato-bold-italic {
+ font-family: "Lato", sans-serif;
+ font-weight: 700;
+ font-style: italic;
+}
+
+.lato-black-italic {
+ font-family: "Lato", sans-serif;
+ font-weight: 900;
+ font-style: italic;
+}
+
+* {
+ color: var(--text-color);
+ font-family: lato-regular, sans-serif;
+ box-sizing: inherit;
+}
+
+body {
+ background-color: var(--background-color);
+}
+
+main {
+ position: absolute;
+ left: 50%;
+ transform: translate(-50%, 0%);
+ min-height: 110vh;
+ width: 90%;
+}
+
+footer {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ background-color: var(--menu-bg);
+ width: 100vw;
+}
+
+a {
+ color: var(--unfocused);
+ text-decoration: none;
+}
+
+a:hover {
+ color: var(--focused);
+}
+
+button {
+ color: var(--text-color-inverted);
+ background-color: var(--unfocused);
+ text-decoration: none;
+ border: none;
+}
+
+button:hover {
+ color: var(--text-color);
+ background-color: var(--focused);
+}
+
+.content_container {
+}
+
+
+.login {
+ zoom: 150%;
+ position: absolute;
+ top: 35%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 40%;
+}
+
+.login h1 {
+ font-size: 30px;
+ text-align: center;
+ margin-top: -20px;
+ margin-bottom: 1%;
+}
+
+.login img {
+ position: relative;
+ left: 50%;
+ transform: translateX(-50%);
+}
+
+.login form {
+ width: 100%;
+ text-align: center;
+}
+
+.login input {
+ text-align: left;
+ font-size: 15px;
+ background-color: var(--background-color);
+ border: none;
+ border-bottom: 2px solid var(--unfocused);
+ transition: border-bottom 0.2s ease-out;
+}
+
+.login input:focus {
+ outline: none;
+ border-bottom: 2px solid var(--focused);
+}
+
+.login input:required {
+ border-bottom: 2px solid var(--focused);
+}
+
+.login input[required]:invalid {
+ border-bottom: 2px solid var(--unfocused);
+}
+
+.login input[type=text] {
+ background-image: url("/assets/img/id-card-negated.png");
+ background-position: 5% center;
+ background-repeat: no-repeat;
+ background-size: 15px 15px;
+ text-indent: 15%;
+}
+
+.login input[type=password] {
+ background-image: url("/assets/img/key-negated.png");
+ background-position: 5% center;
+ background-repeat: no-repeat;
+ background-size: 15px 15px;
+ text-indent: 15%;
+}
+
+.login input[type=submit] {
+ text-align: center;
+ width: 30%;
+ background-color: var(--background-color);
+ transition: border-bottom 0.2s ease-out;
+}
+
+.login input[type=submit]:hover {
+ border-bottom: 2px solid var(--focused);
+}
+
+.side_by_side {
+ display: flex;
+ justify-content: center;
+}
+
+.error {
+ text-align: center;
+}
+
+.error h1 {
+ font-size: 300%;
+}
+
+.error h2 {
+ font-size: 200%;
+}
+
+.error p {
+ font-size: 150%;
+ font-weight: bold;
+}
+
+.navbar {
+ position: sticky;
+ top: 0;
+ width: 100%;
+ z-index: 1000;
+}
+
+.navbar ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ overflow: hidden;
+ background-color: var(--menu-bg);
+}
+
+.navbar li {
+ float: left;
+ border-right: 1px solid var(--menu-border);
+}
+
+.navbar li:first-child {
+ border-right: none;
+}
+
+.navbar li:last-child {
+ float: right;
+ border-right: none;
+}
+
+.navbar img {
+ object-fit: contain;
+ width: 80px;
+ margin: auto;
+}
+
+.navbar a {
+ display: block;
+ padding: 8px;
+ font-size: 130%;
+ text-align: center;
+ color: var(--text-color-inverted);
+ background-color: var(--unfocused);
+}
+
+.navbar a:hover {
+ color: var(--text-color);
+ background-color: var(--focused);
+}
+
+.usercard {
+ border-radius: 10px;
+ border: 3px solid var(--unfocused);
+}
+
+.usercard img {
+ display: block;
+ margin-top: 2%;
+ margin-bottom: 2%;
+ margin-left: auto;
+ margin-right: auto;
+ border-radius: 50%;
+ max-width: 70%;
+}
+
+.usercard h1 {
+ margin-top: 0%;
+ text-align: center;
+ font-size: 150%;
+ background-color: var(--unfocused);
+ color: var(--text-color-inverted);
+}
+
+.usercard p {
+ font-size: 90%;
+ font-weight: 700;
+}
+
+.chart {
+ width: 50%;
+}
+
+.button_row {
+ text-align: left;
+ padding-top: 1%;
+ padding-bottom: 1%;
+}
+
+.button_row button {
+ font-size: 100%;
+ margin-left: 5%;
+ width: 15%;
+ border-radius: 4px;
+}
+
diff --git a/assets/fonts/.gitignore b/assets/fonts/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/assets/fonts/lato/Lato-Black.ttf b/assets/fonts/lato/Lato-Black.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..4340502d93c09da91560c862cabf3f6055704149
GIT binary patch
literal 69500
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