{"repo":"maizzle/framework","free":true,"listed":false,"github":"https://github.com/maizzle/framework","clone":"git clone https://github.com/maizzle/framework.git","description":"The modern email development framework.","language":"TypeScript","stars":1597,"topics":["email-campaigns","email-framework","email-marketing","html-emails","maizzle","responsive-email","tailwindcss"],"license":"MIT","category":"email_development","readme_excerpt":"<div align=\"center\">\n  <p>\n    <a href=\"https://maizzle.com\" target=\"_blank\">\n      <picture>\n        <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/maizzle/framework/HEAD/.github/media/logo-dark.svg\">\n        <img alt=\"Maizzle\" src=\"https://raw.githubusercontent.com/maizzle/framework/HEAD/.github/media/logo-light.svg\" width=\"300\" height=\"225\" style=\"max-width: 100%;\">\n      </picture>\n    </a>\n  </p>\n  <p>The modern email development framework</p>\n  <div>\n\n  [![Version][npm-version-shield]][npm]\n  [![Build][github-ci-shield]][github-ci]\n  [![Downloads][npm-stats-shield]][npm-stats]\n  [![License][license-shield]][license]\n\n  </div>\n</div>\n\n## About\n\n> **Note:** This repository contains the core code of the Maizzle framework. If you want to start building HTML emails using Maizzle, visit the [Starter repository](https://github.com/maizzle/maizzle).\n\nMaizzle is a Vite-powered framework for building HTML emails with Vue and Tailwind CSS.\n\n## Documentation\n\nMaizzle documentation is available at https://maizzle.com\n\n## License\n\nThe Maizzle framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).\n\n[npm]: https://www.npmjs.com/package/@maizzle/framework\n[npm-stats]: https://npm-stat.com/charts.html?package=%40maizzle%2Fframework&from=2019-03-27\n[npm-version-shield]: https://img.shields.io/npm/v/@maizzle/framework.svg\n[npm-stats-shield]: https://img.shields.io/npm/dt/@maizzle/framework.svg?color=4f46e5\n[github-ci]: https://github.com/maizzle/framework/actions\n[github-ci-shield]: https://github.com/maizzle/framework/actions/workflows/nodejs.yml/badge.svg\n[license]: ./LICENSE\n[license-shield]: https://img.shields.io/npm/l/@maizzle/framework.svg?color=0e9f6e\n","default_branch":"master","files":371,"tree":[".editorconfig",".github/CONTRIBUTING.md",".github/ISSUE_TEMPLATE.md",".github/PULL_REQUEST_TEMPLATE.md",".github/dependabot.yml",".github/media/logo-dark.svg",".github/media/logo-light.svg",".github/workflows/deploy-docs.yml",".github/workflows/nodejs.yml",".gitignore","LICENSE","README.md","bin/maizzle.mjs","components.json","package-lock.json","package.json","skills/maizzle/README.md","skills/maizzle/SKILL.md","skills/maizzle/references/CLI.md","skills/maizzle/references/COMPONENTS.md","skills/maizzle/references/COMPOSABLES.md","skills/maizzle/references/CONFIGURATION.md","skills/maizzle/references/CONVERT-MAIZZLE-V5.md","skills/maizzle/references/CONVERT-MJML.md","skills/maizzle/references/CONVERT-REACT-EMAIL.md","skills/maizzle/references/PATTERNS.md","skills/maizzle/references/STYLING.md","skills/maizzle/references/TRANSFORMERS.md","src/build.ts","src/components/Body.vue","src/components/Button.vue","src/components/CodeBlock.vue","src/components/CodeInline.vue","src/components/Column.vue","src/components/Container.vue","src/components/Font.vue","src/components/Head.vue","src/components/Heading.vue","src/components/Hr.vue","src/components/Html.vue","src/components/Img.vue","src/components/Layout.vue","src/components/Link.vue","src/components/Markdown.vue","src/components/MarkdownLayout.vue","src/components/NoWidows.vue","src/components/NotOutlook.vue","src/components/NotPlaintext.vue","src/components/Outlook.vue","src/components/OutlookBg.vue","src/components/Plaintext.vue","src/components/Preheader.vue","src/components/QrCode.vue","src/components/Raw.vue","src/components/Row.vue","src/components/Section.vue","src/components/Spacer.vue","src/components/Tailwind.vue","src/components/Text.vue","src/components/Vml.vue","src/components/WithUrl.vue","src/components/utils.ts","src/composables/defineConfig.ts","src/composables/renderContext.ts","src/composables/useBaseUrl.ts","src/composables/useConfig.ts","src/composables/useCurrentTemplate.ts","src/composables/useDoctype.ts","src/composables/useEvent.ts","src/composables/useFont.ts","src/composables/useOutlookFallback.ts","src/composables/useOutputPath.ts","src/composables/usePlaintext.ts","src/composables/usePreheader.ts","src/composables/useTransformers.ts","src/composables/useUrlQuery.ts","src/config/defaults.ts","src/config/index.ts","src/events/index.ts","src/index.ts","src/plaintext.ts","src/plugin.ts","src/plugins/postcss/flattenGradients.ts","src/plugins/postcss/mergeMediaQueries.ts","src/plugins/postcss/pruneVars.ts","src/plugins/postcss/quoteFontFamilies.ts","src/plugins/postcss/removeDeclarations.ts","src/plugins/postcss/resolveMaizzleImports.ts","src/plugins/postcss/resolveProps.ts","src/plugins/postcss/tailwindCleanup.ts","src/prepare.ts","src/render/active.ts","src/render/buildTemplate.ts","src/render/createRenderer.ts","src/render/index.ts","src/render/injectFonts.ts","src/render/parallel/buildWorker.ts","src/render/parallel/worker.mjs","src/render/plugins/codeBlockExtract.ts","src/render/plugins/markdownExtract.ts","src/render/plugins/rawExtract.ts","src/render/plugins/rowSourceLocation.ts","src/serve.ts","src/server/compatibility.ts","src/server/email.ts","src/server/linter.ts","src/server/sfc-utils.ts","src/server/ui/App.vue","src/server/ui/components/SidebarClose.vue","src/server/ui/components/ui/button/Button.vue","src/server/ui/components/ui/button/index.ts","src/server/ui/components/ui/checkbox/Checkbox.vue","src/server/ui/components/ui/checkbox/index.ts","src/server/ui/components/ui/command/Command.vue","src/server/ui/components/ui/command/CommandDialog.vue","src/server/ui/components/ui/command/CommandEmpty.vue","src/server/ui/components/ui/command/CommandGroup.vue","src/server/ui/components/ui/command/CommandInput.vue","src/server/ui/components/ui/command/CommandItem.vue","src/server/ui/components/ui/command/CommandList.vue","src/server/ui/components/ui/command/CommandSeparator.vue","src/server/ui/components/ui/command/CommandShortcut.vue","src/server/ui/components/ui/command/index.ts","src/server/ui/components/ui/dialog/Dialog.vue","src/server/ui/components/ui/dialog/DialogClose.vue","src/server/ui/components/ui/dialog/DialogContent.vue","src/server/ui/components/ui/dialog/DialogDescription.vue","src/server/ui/components/ui/dialog/DialogFooter.vue","src/server/ui/components/ui/dialog/DialogHeader.vue","src/server/ui/components/ui/dialog/DialogOverlay.vue","src/server/ui/components/ui/dialog/DialogScrollContent.vue","src/server/ui/components/ui/dialog/DialogTitle.vue","src/server/ui/components/ui/dialog/DialogTrigger.vue","src/server/ui/components/ui/dialog/index.ts","src/server/ui/components/ui/dropdown-menu/DropdownMenu.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuContent.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuGroup.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuItem.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuLabel.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuSeparator.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuShortcut.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuSub.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuSubContent.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue","src/server/ui/components/ui/dropdown-menu/DropdownMenuTrigger.vue","src/server/ui/components/ui/dropdown-menu/index.ts","src/server/ui/components/ui/empty/Empty.vue","src/server/ui/components/ui/empty/EmptyContent.vue","src/server/ui/components/ui/empty/EmptyDescription.vue","src/server/ui/components/ui/empty/EmptyHeader.vue","src/server/ui/components/ui/empty/EmptyMedia.vue","src/server/ui/components/ui/empty/EmptyTitle.vue","src/server/ui/components/ui/empty/index.ts","src/server/ui/components/ui/input/Input.vue","src/server/ui/components/ui/input/index.ts","src/server/ui/components/ui/kbd/Kbd.vue","src/server/ui/components/ui/kbd/KbdGroup.vue","src/server/ui/components/ui/kbd/index.ts","src/server/ui/components/ui/scroll-area/ScrollArea.vue","src/server/ui/components/ui/scroll-area/ScrollBar.vue","src/server/ui/components/ui/scroll-area/index.ts","src/server/ui/components/ui/separator/Separator.vue","src/server/ui/components/ui/separator/index.ts","src/server/ui/components/ui/sheet/Sheet.vue","src/server/ui/components/ui/sheet/SheetClose.vue","src/server/ui/components/ui/sheet/SheetContent.vue","src/server/ui/components/ui/sheet/SheetDescription.vue","src/server/ui/components/ui/sheet/SheetFooter.vue","src/server/ui/components/ui/sheet/SheetHeader.vue","src/server/ui/components/ui/sheet/SheetOverlay.vue","src/server/ui/components/ui/sheet/SheetTitle.vue","src/server/ui/components/ui/sheet/SheetTrigger.vue","src/server/ui/components/ui/sheet/index.ts","src/server/ui/components/ui/sidebar/Sidebar.vue","src/server/ui/components/ui/sidebar/SidebarContent.vue","src/server/ui/components/ui/sidebar/SidebarFooter.vue","src/server/ui/components/ui/sidebar/SidebarGroup.vue","src/server/ui/components/ui/sidebar/SidebarGroupAction.vue","src/server/ui/components/ui/sidebar/SidebarGroupContent.vue","src/server/ui/components/ui/sidebar/SidebarGroupLabel.vue","src/server/ui/components/ui/sidebar/SidebarHeader.vue","src/server/ui/components/ui/sidebar/SidebarInput.vue","src/server/ui/components/ui/sidebar/SidebarInset.vue","src/server/ui/components/ui/sidebar/SidebarMenu.vue","src/server/ui/components/ui/sidebar/SidebarMenuAction.vue","src/server/ui/components/ui/sidebar/SidebarMenuBadge.vue","src/server/ui/components/ui/sidebar/SidebarMenuButton.vue","src/server/ui/components/ui/sidebar/SidebarMenuButtonChild.vue","src/server/ui/components/ui/sidebar/SidebarMenuItem.vue","src/server/ui/components/ui/sidebar/SidebarMenuSkeleton.vue","src/server/ui/components/ui/sidebar/SidebarMenuSub.vue","src/server/ui/components/ui/sidebar/SidebarMenuSubButton.vue","src/server/ui/components/ui/sidebar/SidebarMenuSubItem.vue","src/server/ui/components/ui/sidebar/SidebarProvider.vue","src/server/ui/components/ui/sidebar/SidebarRail.vue","src/server/ui/components/ui/sidebar/SidebarSeparator.vue","src/server/ui/components/ui/sidebar/SidebarTrigger.vue","src/server/ui/components/ui/sidebar/index.ts","src/server/ui/components/ui/sidebar/utils.ts","src/server/ui/components/ui/skeleton/Skeleton.vue","src/server/ui/components/ui/skeleton/index.ts","src/server/ui/components/ui/tabs/Tabs.vue","src/server/ui/components/ui/tabs/TabsContent.vue","src/server/ui/components/ui/tabs/TabsList.vue","src/server/ui/components/ui/tabs/TabsTrigger.vue","src/server/ui/components/ui/tabs/index.ts","src/server/ui/components/ui/tags-input/TagsInput.vue","src/server/ui/components/ui/tags-input/TagsInputInput.vue","src/server/ui/components/ui/tags-input/TagsInputItem.vue","src/server/ui/components/ui/tags-input/TagsInputItemDelete.vue","src/server/ui/components/ui/tags-input/TagsInputItemText.vue","src/server/ui/components/ui/tags-input/index.ts","src/server/ui/components/ui/toggle-group/ToggleGroup.vue","src/server/ui/components/ui/toggle-group/ToggleGroupItem.vue","src/server/ui/components/ui/toggle-group/index.ts","src/server/ui/components/ui/toggle/Toggle.vue","src/server/ui/components/ui/toggle/index.ts","src/server/ui/components/ui/tooltip/Tooltip.vue","src/server/ui/components/ui/tooltip/TooltipContent.vue","src/server/ui/components/ui/tooltip/TooltipProvider.vue","src/server/ui/components/ui/tooltip/TooltipTrigger.vue","src/server/ui/components/ui/tooltip/index.ts","src/server/ui/favicon.svg","src/server/ui/index.html","src/server/ui/lib/emulated-dark-mode.ts","src/server/ui/lib/utils.ts","src/server/ui/logo-gradient.svg","src/server/ui/logo.svg","src/server/ui/main.css","src/server/ui/main.ts","src/server/ui/mark-gradient.svg","src/server/ui/mark.svg","src/server/ui/pages/Home.vue","src/server/ui/pages/Preview.vue","src/server/ui/stripes.svg","src/server/ui/vite-env.d.ts","src/tests/ast.test.ts","src/tests/build.test.ts","src/tests/components/Body.test.ts","src/tests/components/CodeBlock.test.ts","src/tests/components/CodeInline.test.ts","src/tests/components/Column.test.ts","src/tests/components/Container.test.ts","src/tests/components/Font.test.ts","src/tests/components/Head.test.ts","src/tests/components/Hr.test.ts","src/tests/components/Html.test.ts","src/tests/components/Img.test.ts","src/tests/components/Layout.test.ts","src/tests/components/Markdown.test.ts","src/tests/components/NoWidows.test.ts","src/tests/components/NotOutlook.test.ts","src/tests/components/NotPlaintext.test.ts","src/tests/components/Outlook.test.ts","src/tests/components/OutlookBg.test.ts","src/tests/components/Plaintext.test.ts","src/tests/components/Preheader.test.ts","src/tests/components/QrCode.test.ts","src/tests/components/Raw.test.ts","src/tests/components/Row.test.ts","src/tests/components/Section.test.ts","src/tests/components/Spacer.test.ts","src/tests/components/Text.test.ts","src/tests/components/Vml.test.ts","src/tests/components/WithUrl.test.ts","src/tests/components/utils.test.ts","src/tests/composables/defineConfig.test.ts","src/tests/composables/useConfig.test.ts","src/tests/composables/useCurrentTemplate.test.ts","src/tests/composables/useFont.test.ts","src/tests/composables/useOutlookFallback.test.ts","src/tests/config.test.ts","src/tests/events.test.ts","src/tests/plaintext.test.ts","src/tests/plugins/pruneVars.test.ts","src/tests/plugins/quoteFontFamilies.test.ts","src/tests/plugins/resolveMaizzleImports.test.ts","src/tests/plugins/resolveProps.test.ts","src/tests/render/_helpers.ts","src/tests/render/active.test.ts","src/tests/render/basic.test.ts","src/tests/render/codeBlockExtract.test.ts","src/tests/render/composables.test.ts","src/tests/render/config.test.ts","src/tests/render/createRenderer.test.ts","src/tests/render/injectFonts.test.ts","src/tests/render/markdownExtract.test.ts","src/tests/render/output-markers.test.ts","src/tests/render/plugins-render.test.ts","src/tests/render/plugins/rowSourceLocation.test.ts","src/tests/render/props.test.ts","src/tests/render/rawExtract.test.ts","src/tests/render/transformers.test.ts","src/tests/render/vue.test.ts","src/tests/serve.test.ts","src/tests/transformers/addAttributes.test.ts","src/tests/transformers/attributeToStyle.test.ts","src/tests/transformers/base.test.ts","src/tests/transformers/columnWidth.test.ts","src/tests/transformers/entities.test.ts","src/tests/transformers/filters.test.ts","src/tests/transformers/fixtures/test.css","src/tests/transformers/format.test.ts","src/tests/transformers/imgWidth.test.ts","src/tests/transformers/inlineCss.error.test.ts","src/tests/transformers/inlineCss.test.ts","src/tests/transformers/inlineLink.test.ts","src/tests/transformers/minify.test.ts","src/tests/transformers/minifyCodeInline.test.ts","src/tests/transformers/msoPlaceholders.test.ts","src/tests/transformers/optimizeCss.test.ts","src/tests/transformers/purgeCss.test.ts","src/tests/transformers/removeAttributes.test.ts","src/tests/transformers/replaceStrings.test.ts","src/tests/transformers/runTransformers.test.ts","src/tests/transformers/safeSelectors.test.ts","src/tests/transformers/shorthandCss.test.ts","src/tests/transformers/sixHex.test.ts","src/tests/transformers/tailwindComponent.test.ts","src/tests/transformers/tailwindcss.test.ts","src/tests/transformers/urlQuery.test.ts","src/tests/utils/componentSources.test.ts","src/tests/utils/cssBox.test.ts","src/tests/utils/output-markers.test.ts","src/tests/utils/watchPaths.test.ts","src/transformers/addAttributes.ts","src/transformers/attributeToStyle.ts","src/transformers/base.ts","src/transformers/columnWidth.ts","src/transformers/entities.ts","src/transformers/filters/defaults.ts","src/transformers/filters/index.ts","src/transformers/format.ts","src/transformers/imgWidth.ts","src/transformers/index.ts","src/transformers/inlineCss.ts","src/transformers/inlineLink.ts","src/transformers/minify.ts","src/transformers/minifyCodeInline.ts","src/transformers/msoPlaceholders.ts","src/transformers/purgeCss.ts","src/transformers/removeAttributes.ts","src/transformers/replaceStrings.ts","src/transformers/safeSelectors.ts","src/transformers/shorthandCss.ts","src/transformers/sixHex.ts","src/transformers/tailwindComponent.ts","src/transformers/tailwindcss.ts","src/transformers/urlQuery.ts","src/types/config.ts","src/types/index.ts","src/types/modules.d.ts","src/utils/ast/index.ts","src/utils/ast/parser.ts","src/utils/ast/serializer.ts","src/utils/ast/walker.ts","src/utils/cloneConfig.ts","src/utils/compileTailwindCss.ts","src/utils/componentSources.ts","src/utils/cssBox.ts","src/utils/decodeStyleEntities.ts","src/utils/detect.ts","src/utils/output-markers.ts","src/utils/url.ts","src/utils/watchPaths.ts","tsconfig.json","tsdown.config.ts","vitest.config.ts"],"storefront":"/r/maizzle","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/maizzle/framework/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}