├── .gitignore ├── .npmignore ├── .npmrc ├── .prettierignore ├── .vscode ├── schema │ ├── syncify.json │ └── tsup.json └── settings.json ├── LICENSE ├── changelog.md ├── demos └── readme.md ├── dist ├── api.js ├── api.mjs ├── cli.js ├── cli.mjs ├── index.js └── index.mjs ├── docs ├── .eleventy.cjs ├── .gitignore ├── .npmrc ├── .stylelintrc.json ├── .vscode │ └── settings.json ├── package.json ├── pnpm-lock.yaml ├── postcss.config.cjs ├── public │ ├── assets │ │ └── fonts │ │ │ ├── proxima-nova-bold.woff2 │ │ │ ├── proxima-nova-light.woff2 │ │ │ └── proxima-nova-regular.woff2 │ ├── bundle.min.js │ ├── cli │ │ ├── filtering │ │ │ └── index.html │ │ ├── modes │ │ │ └── index.html │ │ ├── operations │ │ │ └── index.html │ │ ├── overview │ │ │ └── index.html │ │ ├── resources │ │ │ └── index.html │ │ ├── targeting │ │ │ └── index.html │ │ └── versioning │ │ │ └── index.html │ ├── configure │ │ └── hot │ │ │ └── index.html │ ├── docs │ │ ├── cli-commands │ │ │ └── logging │ │ │ │ └── index.html │ │ ├── features │ │ │ ├── metafield-sync │ │ │ │ └── index.html │ │ │ ├── multistore-support │ │ │ │ └── index.html │ │ │ ├── remote-binding │ │ │ │ └── index.html │ │ │ ├── resource-control │ │ │ │ └── index.html │ │ │ └── strap-generator │ │ │ │ └── index.html │ │ ├── integrate │ │ │ ├── ci-solution │ │ │ │ └── index.html │ │ │ ├── git │ │ │ │ └── index.html │ │ │ └── vscode │ │ │ │ └── index.html │ │ ├── introduction │ │ │ └── boycotting-shopify-cli │ │ │ │ └── index.html │ │ ├── options │ │ │ ├── clean │ │ │ │ └── index.html │ │ │ ├── config │ │ │ │ └── index.html │ │ │ ├── export │ │ │ │ └── index.html │ │ │ ├── import │ │ │ │ └── index.html │ │ │ ├── input │ │ │ │ └── index.html │ │ │ ├── log │ │ │ │ └── index.html │ │ │ ├── output │ │ │ │ └── index.html │ │ │ ├── paths │ │ │ │ └── index.html │ │ │ ├── processors │ │ │ │ ├── esbuild │ │ │ │ │ └── index.html │ │ │ │ ├── markdown │ │ │ │ │ └── index.html │ │ │ │ ├── postcss │ │ │ │ │ └── index.html │ │ │ │ ├── sass │ │ │ │ │ └── index.html │ │ │ │ ├── sharp │ │ │ │ │ └── index.html │ │ │ │ ├── sprite │ │ │ │ │ └── index.html │ │ │ │ ├── svgo │ │ │ │ │ └── index.html │ │ │ │ ├── tailwind │ │ │ │ │ └── index.html │ │ │ │ └── turndown │ │ │ │ │ └── index.html │ │ │ ├── publish │ │ │ │ └── index.html │ │ │ ├── spawn │ │ │ │ └── index.html │ │ │ └── transform │ │ │ │ ├── image │ │ │ │ └── index.html │ │ │ │ ├── json │ │ │ │ └── index.html │ │ │ │ ├── liquid │ │ │ │ └── index.html │ │ │ │ └── svg │ │ │ │ └── index.html │ │ ├── plugins │ │ │ ├── basic-example │ │ │ │ └── index.html │ │ │ ├── build-hooks │ │ │ │ └── index.html │ │ │ ├── conventions │ │ │ │ └── index.html │ │ │ ├── official-plugins │ │ │ │ └── index.html │ │ │ └── overview │ │ │ │ └── index.html │ │ └── usage │ │ │ ├── frontmatter │ │ │ └── index.html │ │ │ ├── modes │ │ │ └── index.html │ │ │ ├── publishing-themes │ │ │ └── index.html │ │ │ ├── redirects │ │ │ └── index.html │ │ │ ├── required-files │ │ │ └── index.html │ │ │ ├── terse-output │ │ │ └── index.html │ │ │ ├── theme-targets │ │ │ └── index.html │ │ │ ├── troubleshoot │ │ │ └── index.html │ │ │ └── version-control │ │ │ └── index.html │ ├── examples │ │ └── index.html │ ├── features │ │ ├── hot-reloading │ │ │ └── index.html │ │ ├── markdown-pages │ │ │ └── index.html │ │ └── shared-schema │ │ │ └── index.html │ ├── getting-help │ │ └── index.html │ ├── include │ │ ├── authentication │ │ │ └── index.html │ │ ├── breadcrumb │ │ │ └── index.html │ │ ├── landing │ │ │ └── index.html │ │ ├── logo │ │ │ └── index.html │ │ ├── navbar │ │ │ └── index.html │ │ ├── options │ │ │ └── index.html │ │ ├── paginate │ │ │ └── index.html │ │ ├── search │ │ │ └── index.html │ │ └── sidebar │ │ │ └── index.html │ ├── index.html │ ├── options │ │ └── transform │ │ │ └── style │ │ │ └── index.html │ ├── setup │ │ ├── authentication │ │ │ └── index.html │ │ ├── checklist │ │ │ └── index.html │ │ ├── installation │ │ │ └── index.html │ │ └── references │ │ │ └── index.html │ ├── style.css │ ├── style.css.map │ ├── syncify.json │ ├── usage │ │ ├── config-files │ │ │ └── index.html │ │ ├── directory-structures │ │ │ └── index.html │ │ ├── project-structures │ │ │ └── index.html │ │ ├── syncify-cli │ │ │ └── index.html │ │ ├── transforms │ │ │ └── javascript │ │ │ │ └── index.html │ │ └── using-transforms │ │ │ └── index.html │ └── what-is-syncify │ │ └── index.html ├── readme.md ├── src │ ├── app │ │ ├── bundle.ts │ │ └── components │ │ │ ├── accordion.ts │ │ │ ├── drawer.ts │ │ │ ├── dropdown.ts │ │ │ ├── hovers.ts │ │ │ ├── indicator.ts │ │ │ ├── scrollspy.ts │ │ │ ├── search.ts │ │ │ └── sidebar.ts │ ├── assets │ │ ├── fonts │ │ │ ├── proxima-nova-bold.woff2 │ │ │ ├── proxima-nova-light.woff2 │ │ │ └── proxima-nova-regular.woff2 │ │ ├── img │ │ │ ├── 1.webp │ │ │ ├── 10.webp │ │ │ ├── 11.webp │ │ │ ├── 12.webp │ │ │ ├── 13.webp │ │ │ ├── 14.webp │ │ │ ├── 15.webp │ │ │ ├── 16.webp │ │ │ ├── 17.webp │ │ │ ├── 18.webp │ │ │ ├── 19.webp │ │ │ ├── 2.webp │ │ │ ├── 20.webp │ │ │ ├── 21.webp │ │ │ ├── 22.webp │ │ │ ├── 23.webp │ │ │ ├── 24.webp │ │ │ ├── 25.webp │ │ │ ├── 26.webp │ │ │ ├── 27.webp │ │ │ ├── 28.webp │ │ │ ├── 29.webp │ │ │ ├── 3.webp │ │ │ ├── 30.webp │ │ │ ├── 4.webp │ │ │ ├── 5.webp │ │ │ ├── 6.webp │ │ │ ├── 7.webp │ │ │ ├── 8.webp │ │ │ ├── 9.webp │ │ │ └── social-banner.png │ │ └── svg │ │ │ ├── anchor.svg │ │ │ ├── arrow-right.svg │ │ │ ├── check.svg │ │ │ ├── chevron-down.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron-right.svg │ │ │ ├── copy.svg │ │ │ ├── discord.svg │ │ │ ├── github.svg │ │ │ ├── home.svg │ │ │ ├── logo-text.svg │ │ │ ├── logo.svg │ │ │ ├── menu.svg │ │ │ ├── minus-square.svg │ │ │ ├── npm.svg │ │ │ ├── plus-square.svg │ │ │ ├── refresh.svg │ │ │ └── text.svg │ ├── sass │ │ ├── styles │ │ │ ├── blockquote.scss │ │ │ ├── code.scss │ │ │ ├── landing.scss │ │ │ ├── navbar.scss │ │ │ ├── overwrites.scss │ │ │ ├── search.scss │ │ │ ├── sidebar.scss │ │ │ ├── svg.scss │ │ │ └── tabs.scss │ │ ├── stylesheet.scss │ │ └── variables.scss │ └── views │ │ ├── data │ │ ├── authentication.json │ │ ├── navigation.json │ │ └── transforms.json │ │ ├── docs │ │ ├── cli-commands │ │ │ ├── filtering.md │ │ │ ├── logging.md │ │ │ ├── modes.md │ │ │ ├── operations.md │ │ │ ├── overview.md │ │ │ ├── resources.md │ │ │ ├── targeting.md │ │ │ └── versioning.md │ │ ├── features │ │ │ ├── hot-reloading.md │ │ │ ├── markdown-pages.md │ │ │ ├── metafield-sync.md │ │ │ ├── multistore-support.md │ │ │ ├── remote-binding.md │ │ │ ├── resource-control.md │ │ │ ├── shared-schema.md │ │ │ └── strap-generator.md │ │ ├── index.md │ │ ├── integrate │ │ │ ├── ci-solution.md │ │ │ ├── git.md │ │ │ └── vscode.md │ │ ├── introduction │ │ │ ├── boycotting-shopify-cli.md │ │ │ ├── examples.md │ │ │ ├── getting-help.md │ │ │ └── what-is-syncify.md │ │ ├── options │ │ │ ├── clean.md │ │ │ ├── config.md │ │ │ ├── export.md │ │ │ ├── hot.md │ │ │ ├── import.md │ │ │ ├── input.md │ │ │ ├── log.md │ │ │ ├── output.md │ │ │ ├── paths.md │ │ │ ├── processors │ │ │ │ ├── esbuild.md │ │ │ │ ├── markdown.md │ │ │ │ ├── postcss.md │ │ │ │ ├── sass.md │ │ │ │ ├── sharp.md │ │ │ │ ├── sprite.md │ │ │ │ ├── svgo.md │ │ │ │ ├── tailwind.md │ │ │ │ └── turndown.md │ │ │ ├── publish.md │ │ │ ├── spawn.md │ │ │ └── transform │ │ │ │ ├── image.md │ │ │ │ ├── json.md │ │ │ │ ├── liquid.md │ │ │ │ ├── script.md │ │ │ │ ├── style.md │ │ │ │ └── svg.md │ │ ├── plugins │ │ │ ├── basic-example.md │ │ │ ├── build-hooks.md │ │ │ ├── conventions.md │ │ │ ├── official-plugins.md │ │ │ └── overview.md │ │ ├── setup │ │ │ ├── authentication.md │ │ │ ├── checklist.md │ │ │ ├── installation.md │ │ │ └── references.md │ │ └── usage │ │ │ ├── config-files.md │ │ │ ├── directory-structures.md │ │ │ ├── frontmatter.md │ │ │ ├── modes.md │ │ │ ├── publishing-themes.md │ │ │ ├── redirects.md │ │ │ ├── renaming-files.md │ │ │ ├── required-files.md │ │ │ ├── syncify-cli.md │ │ │ ├── terse-output.md │ │ │ ├── theme-targets.md │ │ │ ├── troubleshoot.md │ │ │ ├── using-transforms.md │ │ │ └── version-control.md │ │ ├── include │ │ ├── authentication.liquid │ │ ├── breadcrumb.liquid │ │ ├── landing.liquid │ │ ├── logo.liquid │ │ ├── navbar.liquid │ │ ├── options.liquid │ │ ├── paginate.liquid │ │ ├── search.liquid │ │ └── sidebar.liquid │ │ └── layout │ │ └── base.liquid ├── tsconfig.json └── tsup.config.ts ├── examples ├── using-paths │ ├── .gitignore │ ├── .liquidrc.json │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── package.json │ ├── readme.md │ ├── src │ │ ├── assets │ │ │ └── icons │ │ │ │ └── logo.svg │ │ ├── data │ │ │ ├── settings │ │ │ │ ├── settings_data.json │ │ │ │ └── settings_schema.json │ │ │ └── translations │ │ │ │ ├── en.default.json │ │ │ │ └── en.default.schema.json │ │ ├── scripts │ │ │ ├── bundle.ts │ │ │ └── components │ │ │ │ ├── bar.ts │ │ │ │ └── foo.ts │ │ ├── styles │ │ │ └── base.css │ │ └── views │ │ │ ├── customers │ │ │ ├── account.liquid │ │ │ ├── activate_account.liquid │ │ │ ├── addresses.liquid │ │ │ ├── login.liquid │ │ │ ├── order.liquid │ │ │ ├── register.liquid │ │ │ └── reset_password.liquid │ │ │ ├── templates │ │ │ ├── 404.json │ │ │ ├── article.json │ │ │ ├── blog.json │ │ │ ├── cart.json │ │ │ ├── collection.json │ │ │ ├── gift_card.liquid │ │ │ ├── index.json │ │ │ ├── list-collections.json │ │ │ ├── page.json │ │ │ ├── password.json │ │ │ ├── product.json │ │ │ └── search.json │ │ │ └── theme.liquid │ └── syncify.config.ts ├── using-sass │ ├── .gitignore │ ├── .liquidrc.json │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── package.json │ ├── readme.md │ ├── source │ │ ├── assets │ │ │ ├── icons │ │ │ │ └── logo.svg │ │ │ ├── scripts │ │ │ │ └── bundle.js │ │ │ └── styles │ │ │ │ ├── bootstrap.scss │ │ │ │ └── stylesheet.scss │ │ ├── data │ │ │ ├── config │ │ │ │ ├── settings_data.json │ │ │ │ └── settings_schema.json │ │ │ └── locales │ │ │ │ ├── en.default.json │ │ │ │ └── en.default.schema.json │ │ └── views │ │ │ ├── schema │ │ │ └── page.schema │ │ │ ├── sections │ │ │ └── page.liquid │ │ │ ├── snippets │ │ │ └── navbar.liquid │ │ │ ├── templates │ │ │ ├── json │ │ │ │ ├── 404.json │ │ │ │ ├── article.json │ │ │ │ ├── blog.json │ │ │ │ ├── cart.json │ │ │ │ ├── collection.json │ │ │ │ ├── index.json │ │ │ │ ├── list-collections.json │ │ │ │ ├── page.json │ │ │ │ ├── password.json │ │ │ │ ├── product.json │ │ │ │ └── search.json │ │ │ └── liquid │ │ │ │ ├── customers │ │ │ │ ├── account.liquid │ │ │ │ ├── activate_account.liquid │ │ │ │ ├── addresses.liquid │ │ │ │ ├── login.liquid │ │ │ │ ├── order.liquid │ │ │ │ ├── register.liquid │ │ │ │ └── reset_password.liquid │ │ │ │ └── gift_card.liquid │ │ │ └── theme.liquid │ └── syncify.config.json ├── using-schema │ ├── .gitignore │ ├── .liquidrc.json │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── package.json │ ├── readme.md │ └── source │ │ ├── assets │ │ ├── base.css │ │ ├── forms.css │ │ └── logo.svg │ │ ├── data │ │ ├── config │ │ │ ├── settings_data.json │ │ │ └── settings_schema.json │ │ └── locales │ │ │ ├── en.default.json │ │ │ └── en.default.schema.json │ │ ├── pages │ │ └── contact.md │ │ ├── schema │ │ ├── fields.schema │ │ └── page.schema │ │ ├── sections │ │ ├── form.liquid │ │ └── page.liquid │ │ ├── snippets │ │ └── navbar.liquid │ │ ├── templates │ │ ├── 404.json │ │ ├── article.json │ │ ├── blog.json │ │ ├── cart.json │ │ ├── collection.json │ │ ├── customers │ │ │ ├── account.liquid │ │ │ ├── activate_account.liquid │ │ │ ├── addresses.liquid │ │ │ ├── login.liquid │ │ │ ├── order.liquid │ │ │ ├── register.liquid │ │ │ └── reset_password.liquid │ │ ├── gift_card.liquid │ │ ├── index.json │ │ ├── list-collections.json │ │ ├── page.json │ │ ├── password.json │ │ ├── product.json │ │ └── search.json │ │ └── theme.liquid └── using-tailwind │ ├── .gitignore │ ├── .liquidrc.json │ ├── .vscode │ ├── extensions.json │ └── settings.json │ ├── package.json │ ├── readme.md │ ├── source │ ├── assets │ │ ├── icons │ │ │ └── logo.svg │ │ └── style │ │ │ └── base.css │ ├── config │ │ ├── settings_data.json │ │ └── settings_schema.json │ ├── layout │ │ └── theme.liquid │ ├── locales │ │ ├── en.default.json │ │ └── en.default.schema.json │ ├── schema │ │ └── page.schema │ ├── sections │ │ └── page.liquid │ └── templates │ │ ├── 404.json │ │ ├── article.json │ │ ├── blog.json │ │ ├── cart.json │ │ ├── collection.json │ │ ├── customers │ │ ├── account.liquid │ │ ├── activate_account.liquid │ │ ├── addresses.liquid │ │ ├── login.liquid │ │ ├── order.liquid │ │ ├── register.liquid │ │ └── reset_password.liquid │ │ ├── gift_card.liquid │ │ ├── index.json │ │ ├── list-collections.json │ │ ├── page.json │ │ ├── password.json │ │ ├── product.json │ │ └── search.json │ ├── syncify.config.ts │ └── tailwind.config.ts ├── hot.js.liquid ├── package.json ├── packages ├── configs │ ├── eslint-config │ │ ├── .npmignore │ │ ├── eslintrc.cjs │ │ ├── package.json │ │ └── readme.md │ ├── prettier-config │ │ ├── .npmignore │ │ ├── package.json │ │ ├── prettier.cjs │ │ └── readme.md │ ├── stylelint-config │ │ ├── .npmignore │ │ ├── package.json │ │ ├── readme.md │ │ └── stylelint.cjs │ └── tsconfig │ │ ├── browser.json │ │ ├── node.json │ │ ├── package.json │ │ └── readme.md ├── hot │ ├── hot.js.liquid │ ├── index.js │ ├── package.json │ ├── readme.md │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── plugins │ ├── icons │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── package.json │ ├── postcss │ │ ├── package.json │ │ └── src │ │ │ └── index.ts │ ├── readme.md │ └── sass │ │ ├── package.json │ │ └── src │ │ └── index.ts ├── schema │ ├── LICENSE │ ├── config.json │ ├── env.json │ ├── package.json │ ├── pnpm-lock.yaml │ ├── readme.md │ ├── sections.json │ └── syncify.json ├── strap │ └── dusk.zip └── turndown │ ├── package.json │ ├── readme.md │ ├── src │ ├── index.ts │ └── plugins │ │ ├── codeblock.ts │ │ ├── strikethrough.ts │ │ ├── table.ts │ │ └── tasklist.ts │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── readme.md ├── straps ├── dawn │ ├── .gitignore │ ├── .liquidrc.json │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── package.json │ ├── postcss.config.ts │ ├── readme.md │ └── source │ │ ├── assets │ │ ├── animations.js │ │ ├── base.css │ │ ├── cart-drawer.js │ │ ├── cart-notification.js │ │ ├── cart.js │ │ ├── collage.css │ │ ├── collapsible-content.css │ │ ├── component-accordion.css │ │ ├── component-article-card.css │ │ ├── component-card.css │ │ ├── component-cart-drawer.css │ │ ├── component-cart-items.css │ │ ├── component-cart-notification.css │ │ ├── component-cart.css │ │ ├── component-collection-hero.css │ │ ├── component-complementary-products.css │ │ ├── component-deferred-media.css │ │ ├── component-discounts.css │ │ ├── component-facets.css │ │ ├── component-image-with-text.css │ │ ├── component-list-menu.css │ │ ├── component-list-payment.css │ │ ├── component-list-social.css │ │ ├── component-loading-spinner.css │ │ ├── component-localization-form.css │ │ ├── component-mega-menu.css │ │ ├── component-menu-drawer.css │ │ ├── component-modal-video.css │ │ ├── component-model-viewer-ui.css │ │ ├── component-newsletter.css │ │ ├── component-pagination.css │ │ ├── component-pickup-availability.css │ │ ├── component-predictive-search.css │ │ ├── component-price.css │ │ ├── component-product-model.css │ │ ├── component-rating.css │ │ ├── component-search.css │ │ ├── component-show-more.css │ │ ├── component-slider.css │ │ ├── component-slideshow.css │ │ ├── component-totals.css │ │ ├── component-visual-display.css │ │ ├── component-volume-pricing.css │ │ ├── constants.js │ │ ├── customer.css │ │ ├── customer.js │ │ ├── details-disclosure.js │ │ ├── details-modal.js │ │ ├── facets.js │ │ ├── global.js │ │ ├── localization-form.js │ │ ├── magnify.js │ │ ├── main-search.js │ │ ├── mask-blobs.css │ │ ├── media-gallery.js │ │ ├── newsletter-section.css │ │ ├── password-modal.js │ │ ├── pickup-availability.js │ │ ├── predictive-search.js │ │ ├── price-per-item.js │ │ ├── product-form.js │ │ ├── product-info.js │ │ ├── product-modal.js │ │ ├── product-model.js │ │ ├── pubsub.js │ │ ├── quantity-popover.css │ │ ├── quantity-popover.js │ │ ├── quick-add.css │ │ ├── quick-add.js │ │ ├── quick-order-list.css │ │ ├── quick-order-list.js │ │ ├── recipient-form.js │ │ ├── search-form.js │ │ ├── section-blog-post.css │ │ ├── section-collection-list.css │ │ ├── section-contact-form.css │ │ ├── section-email-signup-banner.css │ │ ├── section-featured-blog.css │ │ ├── section-featured-product.css │ │ ├── section-footer.css │ │ ├── section-image-banner.css │ │ ├── section-main-blog.css │ │ ├── section-main-page.css │ │ ├── section-main-product.css │ │ ├── section-multicolumn.css │ │ ├── section-password.css │ │ ├── section-related-products.css │ │ ├── section-rich-text.css │ │ ├── share.js │ │ ├── show-more.js │ │ ├── sparkle.gif │ │ ├── template-collection.css │ │ ├── template-giftcard.css │ │ ├── theme-editor.js │ │ └── video-section.css │ │ ├── config │ │ ├── settings_data.json │ │ └── settings_schema.json │ │ ├── layout │ │ ├── password.liquid │ │ └── theme.liquid │ │ ├── locales │ │ ├── bg-BG.json │ │ ├── cs.json │ │ ├── cs.schema.json │ │ ├── da.json │ │ ├── da.schema.json │ │ ├── de.json │ │ ├── de.schema.json │ │ ├── el.json │ │ ├── en.default.json │ │ ├── en.default.schema.json │ │ ├── es.json │ │ ├── es.schema.json │ │ ├── fi.json │ │ ├── fi.schema.json │ │ ├── fr.json │ │ ├── fr.schema.json │ │ ├── hr-HR.json │ │ ├── hu.json │ │ ├── id.json │ │ ├── it.json │ │ ├── it.schema.json │ │ ├── ja.json │ │ ├── ja.schema.json │ │ ├── ko.json │ │ ├── ko.schema.json │ │ ├── lt-LT.json │ │ ├── nb.json │ │ ├── nb.schema.json │ │ ├── nl.json │ │ ├── nl.schema.json │ │ ├── pl.json │ │ ├── pl.schema.json │ │ ├── pt-BR.json │ │ ├── pt-BR.schema.json │ │ ├── pt-PT.json │ │ ├── pt-PT.schema.json │ │ ├── ro-RO.json │ │ ├── ru.json │ │ ├── sk-SK.json │ │ ├── sl-SI.json │ │ ├── sv.json │ │ ├── sv.schema.json │ │ ├── th.json │ │ ├── th.schema.json │ │ ├── tr.json │ │ ├── tr.schema.json │ │ ├── vi.json │ │ ├── vi.schema.json │ │ ├── zh-CN.json │ │ ├── zh-CN.schema.json │ │ ├── zh-TW.json │ │ └── zh-TW.schema.json │ │ ├── sections │ │ ├── announcement-bar.liquid │ │ ├── apps.liquid │ │ ├── cart-drawer.liquid │ │ ├── cart-icon-bubble.liquid │ │ ├── cart-live-region-text.liquid │ │ ├── cart-notification-button.liquid │ │ ├── cart-notification-product.liquid │ │ ├── collage.liquid │ │ ├── collapsible-content.liquid │ │ ├── collection-list.liquid │ │ ├── contact-form.liquid │ │ ├── custom-liquid.liquid │ │ ├── email-signup-banner.liquid │ │ ├── featured-blog.liquid │ │ ├── featured-collection.liquid │ │ ├── featured-product.liquid │ │ ├── footer-group.json │ │ ├── footer.liquid │ │ ├── header-group.json │ │ ├── header.liquid │ │ ├── image-banner.liquid │ │ ├── image-with-text.liquid │ │ ├── main-404.liquid │ │ ├── main-account.liquid │ │ ├── main-activate-account.liquid │ │ ├── main-addresses.liquid │ │ ├── main-article.liquid │ │ ├── main-blog.liquid │ │ ├── main-cart-footer.liquid │ │ ├── main-cart-items.liquid │ │ ├── main-collection-banner.liquid │ │ ├── main-collection-product-grid.liquid │ │ ├── main-list-collections.liquid │ │ ├── main-login.liquid │ │ ├── main-order.liquid │ │ ├── main-page.liquid │ │ ├── main-password-footer.liquid │ │ ├── main-password-header.liquid │ │ ├── main-product.liquid │ │ ├── main-register.liquid │ │ ├── main-reset-password.liquid │ │ ├── main-search.liquid │ │ ├── multicolumn.liquid │ │ ├── multirow.liquid │ │ ├── newsletter.liquid │ │ ├── page.liquid │ │ ├── pickup-availability.liquid │ │ ├── predictive-search.liquid │ │ ├── quick-order-list.liquid │ │ ├── related-products.liquid │ │ ├── rich-text.liquid │ │ ├── slideshow.liquid │ │ └── video.liquid │ │ ├── snippets │ │ ├── article-card.liquid │ │ ├── buy-buttons.liquid │ │ ├── card-collection.liquid │ │ ├── card-product.liquid │ │ ├── cart-drawer.liquid │ │ ├── cart-notification.liquid │ │ ├── country-localization.liquid │ │ ├── email-signup-banner-background-mobile.liquid │ │ ├── email-signup-banner-background.liquid │ │ ├── facets.liquid │ │ ├── gift-card-recipient-form.liquid │ │ ├── header-drawer.liquid │ │ ├── header-dropdown-menu.liquid │ │ ├── header-mega-menu.liquid │ │ ├── header-search.liquid │ │ ├── icon-3d-model.liquid │ │ ├── icon-accordion.liquid │ │ ├── icon-account.liquid │ │ ├── icon-arrow.liquid │ │ ├── icon-caret.liquid │ │ ├── icon-cart-empty.liquid │ │ ├── icon-cart.liquid │ │ ├── icon-checkmark.liquid │ │ ├── icon-clipboard.liquid │ │ ├── icon-close-small.liquid │ │ ├── icon-close.liquid │ │ ├── icon-discount.liquid │ │ ├── icon-error.liquid │ │ ├── icon-facebook.liquid │ │ ├── icon-filter.liquid │ │ ├── icon-hamburger.liquid │ │ ├── icon-info.liquid │ │ ├── icon-instagram.liquid │ │ ├── icon-minus.liquid │ │ ├── icon-padlock.liquid │ │ ├── icon-pause.liquid │ │ ├── icon-pinterest.liquid │ │ ├── icon-play.liquid │ │ ├── icon-plus.liquid │ │ ├── icon-remove.liquid │ │ ├── icon-share.liquid │ │ ├── icon-snapchat.liquid │ │ ├── icon-success.liquid │ │ ├── icon-tick.liquid │ │ ├── icon-tiktok.liquid │ │ ├── icon-tumblr.liquid │ │ ├── icon-twitter.liquid │ │ ├── icon-unavailable.liquid │ │ ├── icon-vimeo.liquid │ │ ├── icon-with-text.liquid │ │ ├── icon-youtube.liquid │ │ ├── icon-zoom.liquid │ │ ├── language-localization.liquid │ │ ├── loading-spinner.liquid │ │ ├── mask-arch.liquid │ │ ├── meta-tags.liquid │ │ ├── pagination.liquid │ │ ├── price.liquid │ │ ├── product-media-gallery.liquid │ │ ├── product-media-modal.liquid │ │ ├── product-media.liquid │ │ ├── product-thumbnail.liquid │ │ ├── product-variant-options.liquid │ │ ├── product-variant-picker.liquid │ │ ├── quantity-input.liquid │ │ ├── quick-order-list-row.liquid │ │ ├── share-button.liquid │ │ ├── social-icons.liquid │ │ └── visual-display.liquid │ │ └── templates │ │ ├── 404.json │ │ ├── article.json │ │ ├── blog.json │ │ ├── cart.json │ │ ├── collection.json │ │ ├── customers │ │ ├── account.json │ │ ├── activate_account.json │ │ ├── addresses.json │ │ ├── login.json │ │ ├── order.json │ │ ├── register.json │ │ └── reset_password.json │ │ ├── gift_card.liquid │ │ ├── index.json │ │ ├── list-collections.json │ │ ├── page.contact.json │ │ ├── page.json │ │ ├── password.json │ │ ├── product.json │ │ └── search.json ├── dusk │ ├── .liquidrc.json │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── package.json │ ├── readme.md │ └── source │ │ ├── assets │ │ ├── logo.svg │ │ └── style.scss │ │ ├── config │ │ ├── settings_data.json │ │ └── settings_schema.json │ │ ├── layout │ │ └── theme.liquid │ │ ├── locales │ │ ├── en.default.json │ │ └── en.default.schema.json │ │ ├── sections │ │ ├── 404.liquid │ │ ├── apps.liquid │ │ ├── article.liquid │ │ ├── blog.liquid │ │ ├── cart.liquid │ │ ├── collection.liquid │ │ ├── collections-listing.liquid │ │ ├── page.liquid │ │ ├── password.liquid │ │ ├── product.liquid │ │ └── search.liquid │ │ └── templates │ │ ├── 404.json │ │ ├── article.json │ │ ├── blog.json │ │ ├── cart.json │ │ ├── collection.json │ │ ├── customers │ │ ├── account.liquid │ │ ├── activate_account.liquid │ │ ├── addresses.liquid │ │ ├── login.liquid │ │ ├── order.liquid │ │ ├── register.liquid │ │ └── reset_password.liquid │ │ ├── gift_card.liquid │ │ ├── index.json │ │ ├── list-collections.json │ │ ├── page.json │ │ ├── password.json │ │ ├── product.json │ │ └── search.json └── silk │ ├── .gitignore │ ├── .liquidrc.json │ ├── .vscode │ ├── extensions.json │ ├── intellisense │ │ ├── accordion.html-data.json │ │ ├── carousel.html-data.json │ │ └── spx.html-data.json │ └── settings.json │ ├── package.json │ ├── postcss.config.ts │ ├── readme.md │ ├── source │ ├── data │ │ ├── locales │ │ │ ├── en.default.json │ │ │ └── en.default.schema.json │ │ └── settings │ │ │ ├── settings_data.json │ │ │ └── settings_schema.json │ ├── pages │ │ ├── about.md │ │ └── contact.md │ ├── scripts │ │ ├── application │ │ │ ├── app.ts │ │ │ ├── controller.ts │ │ │ ├── session.ts │ │ │ ├── tracking.ts │ │ │ └── utilities.ts │ │ ├── bundle.ts │ │ ├── components │ │ │ ├── accordion.ts │ │ │ ├── carousel.ts │ │ │ └── drawer.ts │ │ ├── modules │ │ │ └── lazysizes.ts │ │ ├── shop.js.liquid │ │ └── typings │ │ │ ├── global.d.ts │ │ │ ├── session.d.ts │ │ │ └── shopify.d.ts │ ├── styles │ │ └── base.css │ └── views │ │ ├── schema │ │ └── forms.schema │ │ ├── sections │ │ ├── app.liquid │ │ ├── blog │ │ │ └── article.liquid │ │ ├── collection │ │ │ ├── cover.liquid │ │ │ ├── filter.liquid │ │ │ └── products.liquid │ │ ├── layout │ │ │ ├── footer.liquid │ │ │ ├── navbar.liquid │ │ │ └── sidebar.liquid │ │ ├── product │ │ │ ├── description.liquid │ │ │ ├── purchase.liquid │ │ │ ├── related.liquid │ │ │ └── viewer.liquid │ │ └── shared │ │ │ ├── announcement-bar.liquid │ │ │ ├── collage.liquid │ │ │ ├── hero-image.liquid │ │ │ ├── image-slideshow.liquid │ │ │ └── image-split.liquid │ │ ├── snippets │ │ └── product-item.liquid │ │ ├── templates │ │ ├── 404.json │ │ ├── article.json │ │ ├── blog.json │ │ ├── cart.json │ │ ├── collection.json │ │ ├── customers │ │ │ ├── account.liquid │ │ │ ├── activate_account.liquid │ │ │ ├── addresses.liquid │ │ │ ├── login.liquid │ │ │ ├── order.liquid │ │ │ ├── register.liquid │ │ │ └── reset_password.liquid │ │ ├── index.json │ │ ├── list-collections.json │ │ ├── page.json │ │ ├── password.json │ │ ├── product.json │ │ ├── search.json │ │ └── statics │ │ │ └── gift_card.liquid │ │ └── theme.liquid │ ├── syncify.config.ts │ ├── tailwind.config.ts │ └── tsconfig.json ├── syncify ├── ansi │ ├── ansi.ts │ ├── codeframe.ts │ ├── colors.ts │ └── symbol.ts ├── api.ts ├── cli.ts ├── cli │ ├── emitters.ts │ ├── exit.ts │ ├── intercept.ts │ ├── interpolate.ts │ ├── progress.ts │ ├── prompts.ts │ ├── size.ts │ ├── spawn.ts │ └── spinner.ts ├── const.ts ├── hot │ ├── inject.ts │ └── server.ts ├── index.ts ├── log │ ├── errors.ts │ ├── help.ts │ ├── loggers.ts │ ├── runtime.ts │ ├── stdin.ts │ ├── throws.ts │ └── warnings.ts ├── model │ ├── $.ts │ ├── defaults.ts │ ├── file.ts │ ├── modules.ts │ ├── plugins.ts │ ├── processor.ts │ └── terser.ts ├── modes │ ├── build.ts │ ├── create.ts │ ├── doctor.ts │ ├── export.ts │ ├── import.ts │ ├── interactive.ts │ ├── publish.ts │ ├── resource.ts │ ├── setup.ts │ ├── strap.ts │ ├── themes.ts │ ├── upload.ts │ └── watch.ts ├── options │ ├── define.ts │ ├── dirs.ts │ ├── files.ts │ ├── filters.ts │ ├── hot.ts │ ├── json.ts │ ├── modes.ts │ ├── pages.ts │ ├── paths.ts │ ├── publish.ts │ ├── script.ts │ ├── sections.ts │ ├── snippets.ts │ ├── spawn.ts │ ├── style.ts │ ├── svg.ts │ ├── sync.ts │ ├── terser.ts │ └── version.ts ├── plugins │ ├── hooks.ts │ ├── plugin.ts │ └── trigger.ts ├── process │ ├── cache.ts │ ├── context.ts │ ├── events.ts │ ├── files.ts │ ├── metafields.ts │ └── validate.ts ├── prompts │ └── themes.ts ├── readme.md ├── requests │ ├── access.ts │ ├── assets.ts │ ├── client.ts │ ├── files.ts │ ├── metafields.ts │ ├── pages.ts │ ├── queue.ts │ ├── redirect.ts │ ├── require.ts │ └── themes.ts ├── terser │ ├── liquid.ts │ ├── markup.ts │ └── obfuscate.ts ├── transform │ ├── asset.ts │ ├── json.ts │ ├── liquid.ts │ ├── pages.ts │ ├── schema.ts │ ├── script.ts │ ├── style.ts │ └── svg.ts └── utils │ ├── array.ts │ ├── native.ts │ ├── options.ts │ ├── paths.ts │ ├── sizes.ts │ ├── timer.ts │ └── utils.ts ├── tsconfig.json ├── tsup.config.ts └── types ├── $ ├── cache.d.ts ├── errors.d.ts ├── file.d.ts ├── filters.d.ts ├── hot.d.ts ├── index.d.ts ├── plugin.d.ts ├── processors.d.ts └── requests.d.ts ├── api.d.ts ├── cli.d.ts ├── config ├── index.d.ts ├── terser.d.ts └── views.d.ts ├── global.d.ts ├── index.d.ts ├── internal.d.ts ├── internal ├── enquirer.d.ts ├── errors.d.ts ├── merge.d.ts ├── reports.d.ts ├── require.d.ts ├── schema.d.ts ├── templates.d.ts └── transform.d.ts ├── modules └── html-minifier-terser.d.ts ├── shared.d.ts └── transform ├── image.d.ts ├── json.d.ts ├── pages.d.ts ├── script.d.ts ├── style.d.ts └── svg.d.ts /.gitignore: -------------------------------------------------------------------------------- 1 | config/local.js 2 | _site 3 | sync.config.json 4 | yarn.lock 5 | .sass-cache 6 | .env 7 | node_modules 8 | bower_components 9 | test/custom 10 | test/cases/* 11 | test/e2e/custom/dist 12 | .tmp 13 | dump.rdb 14 | docs/ 15 | tests/ 16 | packages/**/dist 17 | straps/dusk-advanced/theme 18 | 19 | lib-cov 20 | *.seed 21 | *.log 22 | *.out 23 | *.pid 24 | npm-debug.log 25 | 26 | 27 | ################################################ 28 | # Miscellaneous 29 | # 30 | # Common files generated by text editors, 31 | # operating systems, file systems, etc. 32 | ################################################ 33 | 34 | *~ 35 | *# 36 | .DS_STORE 37 | .netbeans 38 | nbproject 39 | .idea 40 | .node_history 41 | .shopifysync 42 | .shopifysync.json 43 | example 44 | package 45 | theme 46 | yarn.lock 47 | versions 48 | 49 | 50 | .env* 51 | .flaskenv* 52 | !.env.project 53 | !.env.vault -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # DIRECTORIES 2 | 3 | example/ 4 | test/ 5 | tests/ 6 | lib/ 7 | docs/ 8 | plugins/ 9 | src/ 10 | versions/ 11 | .vscode/ 12 | demos/ 13 | 14 | # DOT FILES 15 | 16 | .env 17 | .env.example 18 | .eslintrc 19 | .eslintignore 20 | .prettierrc.js 21 | .prettierignore 22 | .pnpm-debug.log 23 | 24 | # BUILD FILES 25 | 26 | tsconfig.json 27 | tsup.config.ts 28 | 29 | # MARKDOWN 30 | 31 | readme.md 32 | changelog.md 33 | 34 | .env* 35 | .flaskenv* 36 | !.env.project 37 | !.env.vault -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | git-checks=false 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | example 2 | test 3 | lib/**/*.ts 4 | bin 5 | package 6 | demos/** 7 | *.ts 8 | *.js 9 | *.mjs 10 | *.cjs 11 | /tsconfig.json 12 | packages/schema/* -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | # FILES 2 | .env 3 | 4 | # DIRECTORIES 5 | node_modules 6 | theme 7 | -------------------------------------------------------------------------------- /docs/.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | -------------------------------------------------------------------------------- /docs/.stylelintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["stylelint-scss"], 3 | "extends": ["stylelint-config-rational-order"], 4 | "rules": { 5 | "indentation": 2, 6 | "block-no-empty": null, 7 | "color-no-invalid-hex": true, 8 | "comment-empty-line-before": [ 9 | "always", 10 | { 11 | "ignore": ["stylelint-commands", "after-comment"] 12 | } 13 | ], 14 | "declaration-colon-space-after": "always", 15 | "max-empty-lines": 2, 16 | "block-opening-brace-newline-after": "always-multi-line", 17 | "rule-empty-line-before": [ 18 | "always", 19 | { 20 | "except": ["first-nested"], 21 | "ignore": ["after-comment"] 22 | } 23 | ], 24 | "unit-whitelist": [ 25 | "px", 26 | "rem", 27 | "%", 28 | "s", 29 | "vh", 30 | "vw", 31 | "cm", 32 | "em", 33 | "deg" 34 | ] 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /docs/postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const purge = require('@fullhuman/postcss-purgecss'); 2 | const autoprefixer = require('autoprefixer'); 3 | const cssnano = require('cssnano'); 4 | 5 | module.exports = { 6 | plugins: [ 7 | autoprefixer(), 8 | cssnano({ 9 | preset: 'default' 10 | }), 11 | purge( 12 | { 13 | variables: true, 14 | content: [ 15 | 'public/**/*.html', 16 | 'public/**/*.js' 17 | ] 18 | } 19 | ) 20 | ] 21 | }; 22 | -------------------------------------------------------------------------------- /docs/public/assets/fonts/proxima-nova-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/assets/fonts/proxima-nova-bold.woff2 -------------------------------------------------------------------------------- /docs/public/assets/fonts/proxima-nova-light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/assets/fonts/proxima-nova-light.woff2 -------------------------------------------------------------------------------- /docs/public/assets/fonts/proxima-nova-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/assets/fonts/proxima-nova-regular.woff2 -------------------------------------------------------------------------------- /docs/public/docs/cli-commands/logging/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/cli-commands/logging/index.html -------------------------------------------------------------------------------- /docs/public/docs/features/metafield-sync/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/features/metafield-sync/index.html -------------------------------------------------------------------------------- /docs/public/docs/features/multistore-support/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/features/multistore-support/index.html -------------------------------------------------------------------------------- /docs/public/docs/features/remote-binding/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/features/remote-binding/index.html -------------------------------------------------------------------------------- /docs/public/docs/features/resource-control/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/features/resource-control/index.html -------------------------------------------------------------------------------- /docs/public/docs/features/strap-generator/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/features/strap-generator/index.html -------------------------------------------------------------------------------- /docs/public/docs/integrate/ci-solution/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/integrate/ci-solution/index.html -------------------------------------------------------------------------------- /docs/public/docs/integrate/git/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/integrate/git/index.html -------------------------------------------------------------------------------- /docs/public/docs/integrate/vscode/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/integrate/vscode/index.html -------------------------------------------------------------------------------- /docs/public/docs/introduction/boycotting-shopify-cli/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/introduction/boycotting-shopify-cli/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/clean/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/clean/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/config/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/config/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/export/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/export/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/import/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/import/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/input/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/input/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/log/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/log/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/output/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/output/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/paths/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/paths/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/esbuild/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/esbuild/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/markdown/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/markdown/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/postcss/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/postcss/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/sass/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/sass/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/sharp/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/sharp/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/sprite/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/sprite/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/svgo/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/svgo/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/tailwind/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/tailwind/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/processors/turndown/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/processors/turndown/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/publish/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/publish/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/spawn/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/spawn/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/transform/image/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/transform/image/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/transform/json/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/transform/json/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/transform/liquid/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/transform/liquid/index.html -------------------------------------------------------------------------------- /docs/public/docs/options/transform/svg/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/options/transform/svg/index.html -------------------------------------------------------------------------------- /docs/public/docs/plugins/basic-example/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/plugins/basic-example/index.html -------------------------------------------------------------------------------- /docs/public/docs/plugins/build-hooks/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/plugins/build-hooks/index.html -------------------------------------------------------------------------------- /docs/public/docs/plugins/conventions/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/plugins/conventions/index.html -------------------------------------------------------------------------------- /docs/public/docs/plugins/official-plugins/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/plugins/official-plugins/index.html -------------------------------------------------------------------------------- /docs/public/docs/plugins/overview/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/plugins/overview/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/frontmatter/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/frontmatter/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/modes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/modes/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/publishing-themes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/publishing-themes/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/redirects/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/redirects/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/required-files/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/required-files/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/terse-output/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/terse-output/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/theme-targets/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/theme-targets/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/troubleshoot/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/troubleshoot/index.html -------------------------------------------------------------------------------- /docs/public/docs/usage/version-control/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/docs/public/docs/usage/version-control/index.html -------------------------------------------------------------------------------- /docs/public/include/breadcrumb/index.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /docs/public/include/options/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/public/include/paginate/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/public/include/search/index.html: -------------------------------------------------------------------------------- 1 |{{- auth.description -}}
6 |{{- scope -}}
10 | This is the customer/account template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/activate_account template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/addresses template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/customers/login.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/login template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/customers/order.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/order template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/customers/register.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/register template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/reset_password template.
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/404.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "404", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/article.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "article" 5 | } 6 | }, 7 | "order": ["main"] 8 | } 9 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/blog.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "blog", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/cart.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "cart", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "collection", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/gift_card.liquid: -------------------------------------------------------------------------------- 1 |This is the gift card template
2 | -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "example", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/list-collections.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/page.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/password.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "password", 3 | "sections": { 4 | "main": { 5 | "type": "page", 6 | "settings": {} 7 | } 8 | }, 9 | "order": [ 10 | "main" 11 | ] 12 | } -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/product.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-paths/src/views/templates/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-paths/src/views/theme.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 11 | 12 |7 | {{ section.settings.description }} 8 |
9 |This is the customer/account template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/activate_account template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/addresses template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/customers/login.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/login template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/customers/order.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/order template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/customers/register.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/register template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/reset_password template.
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/templates/liquid/gift_card.liquid: -------------------------------------------------------------------------------- 1 |This is the gift card template
2 | -------------------------------------------------------------------------------- /examples/using-sass/source/views/theme.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 11 | 12 |11 | {{ section.settings.title }} 12 |
13 | 14 |This is the customer/account template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/activate_account template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/addresses template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/customers/login.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/login template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/customers/order.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/order template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/customers/register.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/register template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/reset_password template.
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/gift_card.liquid: -------------------------------------------------------------------------------- 1 |This is the gift card template
2 | -------------------------------------------------------------------------------- /examples/using-schema/source/templates/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "example", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-schema/source/templates/list-collections.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-schema/source/templates/page.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-schema/source/templates/password.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "password", 3 | "sections": { 4 | "main": { 5 | "type": "page", 6 | "settings": {} 7 | } 8 | }, 9 | "order": [ 10 | "main" 11 | ] 12 | } -------------------------------------------------------------------------------- /examples/using-schema/source/templates/product.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-schema/source/templates/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-schema/source/theme.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 11 | 12 |11 | {{ section.settings.title }} 12 |
13 | 14 |This is the customer/account template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/activate_account template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/addresses template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/customers/login.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/login template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/customers/order.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/order template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/customers/register.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/register template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/reset_password template.
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/gift_card.liquid: -------------------------------------------------------------------------------- 1 |This is the gift card template
2 | -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/list-collections.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/page.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/password.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "password", 3 | "sections": { 4 | "main": { 5 | "type": "page", 6 | "settings": {} 7 | } 8 | }, 9 | "order": [ 10 | "main" 11 | ] 12 | } -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/product.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-tailwind/source/templates/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": [ 9 | "main" 10 | ] 11 | } -------------------------------------------------------------------------------- /examples/using-tailwind/syncify.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from '@syncify/cli'; 2 | 3 | export default defineConfig( 4 | { 5 | transform: { 6 | style: { 7 | 'assets/stylesheet.css': { 8 | input: 'assets/style/base.css', 9 | tailwind: true 10 | } 11 | } 12 | }, 13 | processors: { 14 | postcss: [ 15 | require('autoprefixer') 16 | ] 17 | } 18 | } 19 | ); 20 | -------------------------------------------------------------------------------- /packages/configs/eslint-config/.npmignore: -------------------------------------------------------------------------------- 1 | # Dot Files 2 | .gitignore 3 | 4 | # Files 5 | readme.md 6 | -------------------------------------------------------------------------------- /packages/configs/eslint-config/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/eslint-config", 3 | "version": "0.1.0", 4 | "description": "Shared eslint config", 5 | "main": "./eslintrc.cjs", 6 | "dependencies": { 7 | "@typescript-eslint/eslint-plugin": "^6.8.0", 8 | "@typescript-eslint/parser": "^6.8.0", 9 | "eslint-config-standard": "^17.1.0", 10 | "eslint-plugin-import": "^2.28.1", 11 | "eslint-plugin-n": "^16.2.0", 12 | "eslint-plugin-node": "^11.1.0", 13 | "eslint-plugin-promise": "^6.1.1" 14 | }, 15 | "devDependencies": { 16 | "eslint": "^8.51.0", 17 | "typescript": "^5.2.2" 18 | }, 19 | "peerDependencies": { 20 | "eslint": "^8.51.0", 21 | "typescript": "^5.2.2" 22 | }, 23 | "peerDependenciesMeta": { 24 | "eslint": { 25 | "optional": true 26 | }, 27 | "typescript": { 28 | "optional": true 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /packages/configs/eslint-config/readme.md: -------------------------------------------------------------------------------- 1 | ## @syncify/eslint-config 2 | 3 | This package includes a shareable [ESLint](https://eslint.org) configuration that can optionally be used within [Syncify](https://github.com/panoply/syncify) projects. 4 | 5 | ### Install 6 | 7 | [pnpm](https://pnpm.js.org/en/cli/install) 8 | 9 | ```cli 10 | pnpm i eslint @syncify/eslint-config -D 11 | ``` 12 | 13 | > Requires `typescript` and `eslint` as peers. 14 | 15 | ### Usage 16 | 17 | Extend the configuration within `package.json` 18 | 19 | ```json 20 | { 21 | "eslintConfig": { 22 | "ignorePatterns": "*.html", 23 | "extends": ["@syncify/eslint-config"] 24 | } 25 | } 26 | ``` 27 | 28 | ### License 29 | 30 | [MIT](#LICENSE) 31 | -------------------------------------------------------------------------------- /packages/configs/prettier-config/.npmignore: -------------------------------------------------------------------------------- 1 | # FILES 2 | .npmrc 3 | readme.md 4 | 5 | # DIRECTORIES 6 | .vscode 7 | node_modules 8 | -------------------------------------------------------------------------------- /packages/configs/prettier-config/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/prettier-config", 3 | "version": "0.1.0", 4 | "description": "Shared prettier config", 5 | "main": "prettier.cjs", 6 | "prettier": "./prettier.cjs", 7 | "license": "MIT", 8 | "keywords": [ 9 | "prettier", 10 | "prettierconfig", 11 | "config", 12 | "formatting" 13 | ], 14 | "scripts": { 15 | "bump": "pnpm up @syncify/prettier-config -r", 16 | "postversion": "pnpm bump" 17 | }, 18 | "engines": { 19 | "pnpm": ">=6" 20 | }, 21 | "devDependencies": { 22 | "prettier": "^3.0.3" 23 | }, 24 | "peerDependencies": { 25 | "prettier": "^3.0.3" 26 | }, 27 | "peerDependenciesMeta": { 28 | "prettier": { 29 | "optional": true 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /packages/configs/stylelint-config/.npmignore: -------------------------------------------------------------------------------- 1 | # FILES 2 | .npmrc 3 | readme.md 4 | 5 | # DIRECTORIES 6 | .vscode 7 | node_modules 8 | -------------------------------------------------------------------------------- /packages/configs/stylelint-config/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/stylelint-config", 3 | "version": "0.1.0", 4 | "description": "Shared stylelint config", 5 | "main": "stylelint.cjs", 6 | "license": "MIT", 7 | "keywords": [ 8 | "stylelint", 9 | "stylelint-config", 10 | "config", 11 | "linting", 12 | "formatting" 13 | ], 14 | "scripts": { 15 | "bump": "pnpm up @syncify/stylelint-config -r", 16 | "postversion": "pnpm bump" 17 | }, 18 | "engines": { 19 | "pnpm": ">=6" 20 | }, 21 | "dependencies": { 22 | "stylelint-config-rational-order": "^0.1.2", 23 | "stylelint-config-standard-scss": "^11.0.0", 24 | "stylelint-scss": "^5.2.1" 25 | }, 26 | "devDependencies": { 27 | "stylelint": "^15.11.0" 28 | }, 29 | "peerDependencies": { 30 | "stylelint": "^15.11.0" 31 | }, 32 | "peerDependenciesMeta": { 33 | "stylelint": { 34 | "optional": true 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /packages/configs/tsconfig/browser.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "exclude": [ 4 | "node_modules/**/*", 5 | "dist" 6 | ], 7 | "typeAcquisition": { 8 | "enable": true, 9 | "include": [ 10 | "node" 11 | ] 12 | }, 13 | "compilerOptions": { 14 | "incremental": true, 15 | "target": "ESNext", 16 | "removeComments": true, 17 | "lib": [ 18 | "ESNext", 19 | "es2020", 20 | "DOM" 21 | ], 22 | "module": "ES6", 23 | "declaration": false, 24 | "preserveSymlinks": true, 25 | "allowSyntheticDefaultImports": true, 26 | "keyofStringsOnly": true, 27 | "esModuleInterop": true, 28 | "ignoreDeprecations": "5.0", 29 | "resolveJsonModule": true, 30 | "moduleResolution": "node", 31 | "noImplicitThis": false, 32 | "skipDefaultLibCheck": true, 33 | "noStrictGenericChecks": true, 34 | "noEmit": true, 35 | "noEmitOnError": true, 36 | "noUnusedLocals": true 37 | } 38 | } -------------------------------------------------------------------------------- /packages/configs/tsconfig/node.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "exclude": [ 4 | "node_modules/**/*", 5 | "dist" 6 | ], 7 | "typeAcquisition": { 8 | "enable": true 9 | }, 10 | "compilerOptions": { 11 | "target": "ESNext", 12 | "removeComments": true, 13 | "lib": [ 14 | "ESNext", 15 | "es2020" 16 | ], 17 | "module": "CommonJS", 18 | "declaration": false, 19 | "preserveSymlinks": true, 20 | "allowSyntheticDefaultImports": true, 21 | "esModuleInterop": true, 22 | "resolveJsonModule": true, 23 | "moduleResolution": "node", 24 | "noImplicitThis": false, 25 | "skipDefaultLibCheck": true, 26 | "noEmit": true, 27 | "noEmitOnError": true, 28 | "noUnusedLocals": true, 29 | "baseUrl": "." 30 | } 31 | } -------------------------------------------------------------------------------- /packages/configs/tsconfig/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/tsconfig", 3 | "version": "0.1.0", 4 | "private": false, 5 | "license": "MIT", 6 | "files": [ 7 | "./browser.json", 8 | "./node.json" 9 | ], 10 | "author": { 11 | "name": "ΝΙΚΟΛΑΣ ΣΑΒΒΙΔΗΣ", 12 | "url": "https://github.com/panoply", 13 | "email": "n.savvidis@gmx.com" 14 | } 15 | } -------------------------------------------------------------------------------- /packages/configs/tsconfig/readme.md: -------------------------------------------------------------------------------- 1 | # @syncify/tsconfig 2 | 3 | Shareable tsconfig files used within the Syncify monorepo. 4 | -------------------------------------------------------------------------------- /packages/hot/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@syncify/tsconfig/browser", 3 | "typeAcquisition": { 4 | "enable": true 5 | }, 6 | "include": [ 7 | "src/index.ts" 8 | ] 9 | } -------------------------------------------------------------------------------- /packages/plugins/icons/index.d.ts: -------------------------------------------------------------------------------- 1 | import { PluginHooks } from '../../types'; 2 | 3 | export default function icons(options: { 4 | tagName: string; 5 | tagVoid: boolean; 6 | vscodeCustomData: boolean; 7 | }): PluginHooks; 8 | -------------------------------------------------------------------------------- /packages/plugins/icons/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/plugin-icons", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "MIT" 12 | } 13 | -------------------------------------------------------------------------------- /packages/plugins/icons/readme.md: -------------------------------------------------------------------------------- 1 | # @syncify/plugin-icons 2 | 3 | ### Install 4 | 5 | ```bash 6 | pnpm add @syncify/plugin-icons -D 7 | ``` 8 | 9 | ### Usage 10 | 11 | 12 | ```js 13 | import icons from '@syncify/plugin-icons'; 14 | 15 | export default { 16 | transforms: { 17 | svg: { 18 | input: '...', 19 | } 20 | }, 21 | plugins: [ 22 | icons( 23 | { 24 | tagName: 'icon'; 25 | tagVoid: true, 26 | vscodeCustomData: true 27 | } 28 | ) 29 | ] 30 | }; 31 | ``` 32 | -------------------------------------------------------------------------------- /packages/plugins/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "syncify-plugins", 3 | "version": "0.0.0-development", 4 | "description": "Liquid Language Support and editor IDE tooling", 5 | "author": { 6 | "name": "Νίκος Σαβίδης", 7 | "email": "n.savvidis@gmx.com", 8 | "url": "https://liquify.dev" 9 | }, 10 | "license": "SEE LICENSE IN LICENSE", 11 | "private": true, 12 | "engines": { 13 | "node": "16", 14 | "vscode": "^1.6.0", 15 | "pnpm": ">=7" 16 | }, 17 | "scripts": {}, 18 | "repository": { 19 | "url": "https://github.com/panoply/liquify" 20 | }, 21 | "devDependencies": {}, 22 | "publishConfig": { 23 | "access": "restricted" 24 | }, 25 | "peerDependencyRules": { 26 | "allowedVersions": { 27 | "eslint": "*" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /packages/plugins/postcss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC" 12 | } 13 | -------------------------------------------------------------------------------- /packages/plugins/sass/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sass", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC" 12 | } 13 | -------------------------------------------------------------------------------- /packages/schema/env.json: -------------------------------------------------------------------------------- 1 | {"$schema":"http://json-schema.org/draft-07/schema","$id":"syncify","version":1.1,"definitions":{"schema":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"domain":{"description":"The shop domain","type":"string","pattern":"([0-9a-z_-]+)\\.myshopify\\.com","default":"your-store.myshopify.com"},"key":{"description":"The shop key","type":"string"},"secret":{"description":"The shop secret","type":"string"}}},{"type":"object","additionalProperties":false,"properties":{"domain":{"description":"The shop domain","type":"string","pattern":"([0-9a-z_-]+)\\.myshopify\\.com","default":"your-store.myshopify.com"},"token":{"description":"The shop token","type":"string"}}}]}},"oneOf":[{"type":"object","$ref":"#/definitions/schema"},{"type":"array","items":{"type":"object","$ref":"#/definitions/schema"}}]} -------------------------------------------------------------------------------- /packages/schema/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/schema", 3 | "version": "0.2.4", 4 | "private": false, 5 | "license": "MIT", 6 | "description": "JSON Store for Syncify Shared Schema", 7 | "author": { 8 | "name": "Νίκος Σαβίδης", 9 | "email": "n.savvidis@gmx.com" 10 | }, 11 | "main": ".", 12 | "engines": { 13 | "pnpm": ">=4", 14 | "node": ">=12" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/panoply/syncify/packages/schema" 19 | }, 20 | "bugs": { 21 | "url": "https://github.com/panoply/syncify/issues" 22 | } 23 | } -------------------------------------------------------------------------------- /packages/schema/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | -------------------------------------------------------------------------------- /packages/strap/dusk.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/packages/strap/dusk.zip -------------------------------------------------------------------------------- /packages/turndown/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@syncify/turndown", 3 | "version": "0.2.0", 4 | "description": "Hard forked variation of Turndown for usage within Syncify", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "dev": "tsup --watch", 8 | "build": "tsup --minify" 9 | }, 10 | "keywords": [], 11 | "author": { 12 | "name": "ΝΙΚΟΛΑΣ ΣΑΒΒΙΔΗΣ", 13 | "url": "https://github.com/panoply", 14 | "email": "n.savvidis@gmx.com" 15 | }, 16 | "license": "MIT", 17 | "tsup": { 18 | "entry": ["src/index.ts"], 19 | "dts": true 20 | }, 21 | "dependencies": { 22 | "turndown": "^7.2.0" 23 | }, 24 | "devDependencies": { 25 | "@syncify/tsconfig": "workspace:^", 26 | "@types/turndown": "^5.0.5" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /packages/turndown/readme.md: -------------------------------------------------------------------------------- 1 | # @syncify/turndown 2 | 3 | Hard forked variation of [Turndown](https://github.com/mixmark-io/turndown) for Github flavored markdown. Used for reversed markdown conversion of HTML to Markdown in Shopify pages using [Syncify](https://github.com/panoply/syncify). 4 | 5 | ### Installation 6 | 7 | ```bash 8 | $ pnpm add @syncify/turndown -D 9 | ``` 10 | 11 | ### Usage 12 | 13 | ```ts 14 | import { Turndown, GithubFlavor } from '@syncify/turndown'; 15 | 16 | const turndown = new Turndown('...').use(GithubFlavor).turndown(content); 17 | ``` 18 | -------------------------------------------------------------------------------- /packages/turndown/src/index.ts: -------------------------------------------------------------------------------- 1 | import TurndownService from 'turndown'; 2 | import { highlightedCodeBlock } from './plugins/codeblock'; 3 | import { strikethrough } from './plugins/strikethrough'; 4 | import { tables } from './plugins/table'; 5 | import { taskListItems } from './plugins/tasklist'; 6 | 7 | export { default as Turndown } from 'turndown'; 8 | 9 | export function GithubFlavor (turndownService: TurndownService) { 10 | 11 | turndownService.use( 12 | [ 13 | highlightedCodeBlock, 14 | strikethrough, 15 | tables, 16 | taskListItems 17 | ] 18 | ); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /packages/turndown/src/plugins/codeblock.ts: -------------------------------------------------------------------------------- 1 | import TurndownService from 'turndown'; 2 | 3 | export function highlightedCodeBlock (turndownService: TurndownService) { 4 | 5 | const highlight = /highlight-(?:text|source)-([a-z0-9]+)/; 6 | 7 | turndownService.addRule('codeblock', { 8 | 9 | filter (node) { 10 | 11 | return15 | {{ 'templates.404.subtext' | t }} 16 |
17 |This is the 404 section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/apps.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/dusk/source/sections/apps.liquid -------------------------------------------------------------------------------- /straps/dusk/source/sections/article.liquid: -------------------------------------------------------------------------------- 1 |This is the article section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/blog.liquid: -------------------------------------------------------------------------------- 1 |This is the blog section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/cart.liquid: -------------------------------------------------------------------------------- 1 |This is the cart section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/collection.liquid: -------------------------------------------------------------------------------- 1 |This is the collection section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/collections-listing.liquid: -------------------------------------------------------------------------------- 1 |This is the collection listing section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/page.liquid: -------------------------------------------------------------------------------- 1 |8 | SYNCIFY 9 |
10 |2 | This is the password section. 3 |
-------------------------------------------------------------------------------- /straps/dusk/source/sections/product.liquid: -------------------------------------------------------------------------------- 1 |This is the product section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/sections/search.liquid: -------------------------------------------------------------------------------- 1 |This is the search section.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/404.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "404", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/article.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "article" 5 | } 6 | }, 7 | "order": ["main"] 8 | } 9 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/blog.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "blog", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/cart.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "cart", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "collection", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/account template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/activate_account template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/addresses template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/login.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/login template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/order.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/order template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/register.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/register template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/reset_password template.
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/gift_card.liquid: -------------------------------------------------------------------------------- 1 |This is the gift card template
2 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/list-collections.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "collections-listing", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/page.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/password.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "password", 3 | "sections": { 4 | "main": { 5 | "type": "password", 6 | "settings": {} 7 | } 8 | }, 9 | "order": ["main"] 10 | } 11 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/product.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "product", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/dusk/source/templates/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "search", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/silk/.gitignore: -------------------------------------------------------------------------------- 1 | theme/ 2 | node_modules 3 | pnpm-lock.yaml 4 | .env -------------------------------------------------------------------------------- /straps/silk/.liquidrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "engine": "shopify", 3 | "files": { 4 | "settings": "source/config/settings_data.json", 5 | "locales": "source/locales/en.default.json", 6 | "schema": [ 7 | "source/schema/*" 8 | ], 9 | "sections": [ 10 | "theme/sections/*.liquid" 11 | ], 12 | "snippets": [ 13 | "theme/snippets/*.liquid" 14 | ] 15 | }, 16 | "format": { 17 | "ignore": [], 18 | "liquid": { 19 | "commentIndent": true, 20 | "forceFilter": 3, 21 | "forceArgument": 3 22 | }, 23 | "markup": { 24 | "forceIndent": true, 25 | "forceAttribute": 2 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /straps/silk/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "unwantedRecommendations": [ 3 | "shopify.theme-check-vscode", 4 | "neilding.language-liquid" 5 | ], 6 | "recommendations": [ 7 | "esbenp.prettier-vscode", 8 | "sissel.shopify-liquid", 9 | "vscode-icons-team.vscode-icons", 10 | "dbaeumer.vscode-eslint" 11 | ] 12 | } -------------------------------------------------------------------------------- /straps/silk/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": { 3 | "**/.git": true, 4 | "**/node_modules": true, 5 | "**/pnpm-lock.yaml": true 6 | }, 7 | "json.schemas": [ 8 | { 9 | "url": "https://unpkg.com/@syncify/schema/syncify.json", 10 | "fileMatch": [ 11 | "package.json" 12 | ], 13 | } 14 | ], 15 | "[css]": { 16 | "editor.formatOnSave": true, 17 | "editor.defaultFormatter": "stylelint.vscode-stylelint" 18 | }, 19 | "[liquid]": { 20 | "editor.formatOnSave": true, 21 | "editor.defaultFormatter": "sissel.shopify-liquid" 22 | } 23 | } -------------------------------------------------------------------------------- /straps/silk/postcss.config.ts: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {} 5 | } 6 | } -------------------------------------------------------------------------------- /straps/silk/readme.md: -------------------------------------------------------------------------------- 1 | ## Syncify ~ Silk 2 | 3 | Dusk is stripped Shopify Theme strap using [Syncify](https://github.com/panoply/syncify). It comes with the essentials already baked in and can be used a starting point to develop themes from scratch leveraging Syncify. 4 | 5 | ### Usage 6 | 7 | 1. Fork or clone this repository 8 | 2. `pnpm i` 9 | 10 | ### Features 11 | 12 | The strap includes the following pre-configured handling: 13 | 14 | - TypeScript/JavaScript 15 | - Tailwind CSS 16 | - SVG Sprites and Snippets 17 | - Markdown Pages Support 18 | - Shared Section Schema 19 | - VSCode Liquid 20 | -------------------------------------------------------------------------------- /straps/silk/source/data/locales/en.default.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /straps/silk/source/data/locales/en.default.schema.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /straps/silk/source/data/settings/settings_data.json: -------------------------------------------------------------------------------- 1 | { 2 | "current": {}, 3 | "presets": {} 4 | } 5 | -------------------------------------------------------------------------------- /straps/silk/source/pages/about.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/pages/about.md -------------------------------------------------------------------------------- /straps/silk/source/pages/contact.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/pages/contact.md -------------------------------------------------------------------------------- /straps/silk/source/scripts/application/app.ts: -------------------------------------------------------------------------------- 1 | import { Controller as stimulus } from 'application/controller'; 2 | import spx from 'spx'; 3 | import * as track from 'application/tracking'; 4 | 5 | export function App ({ targets, screens, controllers }) { 6 | 7 | console.log('bundle') 8 | /** 9 | * SPX: Called to establish SPX connection 10 | */ 11 | spx.connect({ targets })(function () { 12 | 13 | lazySizes.init(); 14 | stimulus.connect(controllers, screens); 15 | Shopify.designMode || spx.disconnect(); 16 | 17 | 18 | }); 19 | 20 | /** 21 | * SPX: Called each time a page is loaded 22 | */ 23 | spx.on('load', function () { 24 | 25 | track.google(); 26 | track.meta(); 27 | 28 | }); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /straps/silk/source/scripts/application/tracking.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Google Analytics 3 | * 4 | * This is UA (GA4 is handled within Shopify) 5 | */ 6 | export function google () { 7 | 8 | if (typeof gtag === 'function') { 9 | gtag('js', new Date()); 10 | gtag('config', 'UA-43951408-1'); 11 | } 12 | 13 | } 14 | 15 | /** 16 | * Meta (Facebook) 17 | * 18 | * Facebook tracking for SPX handling. 19 | */ 20 | export function meta (data?: { 21 | id: number; 22 | price: number; 23 | category: string; 24 | currency: string; 25 | name: string; 26 | }) { 27 | 28 | if (typeof fbq === 'function') { 29 | 30 | fbq('track', 'PageView'); 31 | 32 | if (data) { 33 | 34 | fbq('track', 'ViewContent', { 35 | content_ids: [ data.id ], 36 | content_category: data.category, 37 | content_type: 'product_group', 38 | content_name: data.name, 39 | currency: data.currency, 40 | value: data.price 41 | }); 42 | 43 | } 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /straps/silk/source/scripts/application/utilities.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/scripts/application/utilities.ts -------------------------------------------------------------------------------- /straps/silk/source/scripts/bundle.ts: -------------------------------------------------------------------------------- 1 | import { App } from './application/app'; 2 | import { Drawer } from './components/drawer'; 3 | import { Carousel } from './components/carousel'; 4 | import { Accordion } from './components/accordion'; 5 | 6 | export default App({ 7 | 8 | targets: [ 9 | '#navigation', 10 | '#main' 11 | ], 12 | screens: { 13 | xs: '(max-width: 576px)', 14 | sm: '(min-width: 577px) and (max-width: 767px)', 15 | md: '(min-width: 768px) and (max-width: 991px)', 16 | lg: '(min-width: 992px) and (max-width: 1199px)', 17 | xl: '(min-width: 1200px) and (max-width: 1399px)', 18 | xxl: '(min-width: 1400px)' 19 | }, 20 | controllers: { 21 | Drawer, 22 | Accordion, 23 | Carousel 24 | } 25 | }); 26 | -------------------------------------------------------------------------------- /straps/silk/source/scripts/shop.js.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/scripts/shop.js.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/schema/forms.schema: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/schema/forms.schema -------------------------------------------------------------------------------- /straps/silk/source/views/sections/app.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/app.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/blog/article.liquid: -------------------------------------------------------------------------------- 1 |This is the article section.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/sections/collection/cover.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/collection/cover.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/collection/filter.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/collection/filter.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/collection/products.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/collection/products.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/layout/footer.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/layout/footer.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/layout/navbar.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/layout/navbar.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/layout/sidebar.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/layout/sidebar.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/product/description.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/product/description.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/product/purchase.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/product/purchase.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/product/related.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/product/related.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/product/viewer.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/product/viewer.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/shared/announcement-bar.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/shared/announcement-bar.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/shared/collage.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/shared/collage.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/shared/hero-image.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/shared/hero-image.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/shared/image-slideshow.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/shared/image-slideshow.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/sections/shared/image-split.liquid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/panoply/syncify/98d75fd0fb8e1c6ddce12cdaf792839801a7fab1/straps/silk/source/views/sections/shared/image-split.liquid -------------------------------------------------------------------------------- /straps/silk/source/views/snippets/product-item.liquid: -------------------------------------------------------------------------------- 1 | {% if heading or heading != empty %} 2 |13 | {{ description }} 14 |
15 | {% endif %} 16 | 17 | {% unless link %} 18 | coming soon 19 | 20 | {% endunless %} 21 |This is the customer/account template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/customers/activate_account.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/activate_account template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/customers/addresses.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/addresses template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/customers/login.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/login template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/customers/order.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/order template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/customers/register.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/register template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/customers/reset_password.liquid: -------------------------------------------------------------------------------- 1 |This is the customer/reset_password template.
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/list-collections.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "collections-listing", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/page.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "page", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/password.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "password", 3 | "sections": { 4 | "main": { 5 | "type": "password", 6 | "settings": {} 7 | } 8 | }, 9 | "order": ["main"] 10 | } 11 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/product.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "product", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/search.json: -------------------------------------------------------------------------------- 1 | { 2 | "sections": { 3 | "main": { 4 | "type": "search", 5 | "settings": {} 6 | } 7 | }, 8 | "order": ["main"] 9 | } 10 | -------------------------------------------------------------------------------- /straps/silk/source/views/templates/statics/gift_card.liquid: -------------------------------------------------------------------------------- 1 |This is the gift card template
2 | -------------------------------------------------------------------------------- /straps/silk/source/views/theme.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 11 | 12 |