Giter Site home page Giter Site logo

uicrooks / shopify-theme-lab Goto Github PK

View Code? Open in Web Editor NEW
713.0 713.0 121.0 2.2 MB

Shopify theme development environment using Liquid, Vue and Tailwind CSS. Built on top of Shopify CLI 🧪

Home Page: https://uicrooks.github.io/shopify-theme-lab-docs/

License: MIT License

JavaScript 56.73% Liquid 38.77% Vue 3.49% CSS 1.00%
liquid postcss scss shopify shopify-theme tailwind tailwindcss vue webpack

shopify-theme-lab's People

Contributors

haotan19 avatar josechirivella avatar kusou1 avatar sergejcodes avatar skyriverbend avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shopify-theme-lab's Issues

Question: does this affect SEO in any way?

Operating system

//

Node.js version

//

Shopify CLI version

//

Browsers

No response

Version

4 (Current)

Modifications

No response

Details

Not a bug but the issue template limits me to creating a bug-report.

I’m quite new to both Vue and Shopify and my question is, if this affects SEO in some way (as vue gets rendered client-side, similar to React) or if the vue templates are getting statically rendered to HTML on build?

Thanks in regards!

Notice

  • I read the notice

[Bug]: Adding images

Operating system

Windows 10

Node.js version

15.5.0

Shopify CLI version

2.1.0

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

  1. Add image.static.jpg to assets folder.
  2. Reference {{ 'image.static.jpg' | asset_url }}
  3. Get error 422 in chrome console. On shopify asset url the error is "Transformation Failed"

Attached screenshot of error in chrome console as well as asset url on shopify side.

image
image

Notice

  • I read the notice

[Request]: Any plans for a React stack?

Operating system

macOS

Node.js version

14.0.0

Shopify CLI version

2.0.0

Browsers

No response

Version

4 (Current)

Modifications

No response

Details

Would absolutely love a React version of this. Happy to discuss especially if you want help with it!

Notice

  • I read the notice

[Request]: Can I edit in shopify Backstage

Operating system

mac m1

Node.js version

14.18.0

Shopify CLI version

2.7.1

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

At present, my store uses shopify-theme-lab, but I found a problem, because the vue file is packaged and then published online. If I want to change a picture in the shopify background after publishing, then this The structure does not seem to be established, I need to pull it down and repackage it before pushing,I would like to ask if there is any solution

Notice

  • I read the notice

Adding jQuery

Operating system

macOS Big Sur

Node.js version

16

Shopify CLI version

2

Browsers

Chrome, Safari

Version

4 (Current)

Modifications

No response

Details

Can you explain the steps to adding jQuery?

I have a couple plugins that unfortunately required it -- I've tried a number of ways including using the ProvidePlugin in the webpack configuration, but keep getting the error "$ is undefined".

Notice

  • I read the notice

Can I use Vue JS on only custom page template ?

Is your feature request related to a problem? Please describe.

I have a custom Shopify theme and I need to add vue js only to a custom page template without affecting other page with my vue js code

Describe the solution you'd like

Describe alternatives you've considered

Additional context

VSCode collapses all spaces in a liquid file schema on save

Version and operating system

Description

VSCode collapses all spaces in a liquid file schema on save.

Additional Details
https://gifyu.com/image/D6wN

What is Expected?

Properly formatted a Schema

What is actually happening?

All spaces/new line characters removed

[Bug]: Vue js devtools

Operating system

Mac Os

Node.js version

14.0

Shopify CLI version

2.0.0

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

Trying to use Vue Js dev tools to help with some modifactions but get this, how do i turn this off?

Also love this framework!

"Vue.js is detected on this page.
Devtools inspection is not available because it's in production mode or explicitly disabled by the author."

Notice

  • I read the notice

Missing 'Add Section' in Homepage for theme user

Amazing theme as a starting point! Thank you for sharing!

When I was using Debut theme as a base for theme development, its homepage have the options to let the theme user (non-developer) to dynamically add sections (By using "Add Sections" in the theme customize page). But it seems this is theme is missing this option.

I spent a few hours on this problem and still can't figure out why or what's missing.

[Bug]: Unable to add background image via CSS

Operating system

Mac OS

Node.js version

12.18

Shopify CLI version

2.0

Browsers

No response

Version

3 (Legacy)

Modifications

No response

Details

Attempting to reference an image within the assets folder in our CSS to create a hard-coded background image but its failing. Any suggestions?

Notice

  • I read the notice

Conflict with @shopify alias

Hi @sergejcodes

The new @shopify alias in webpack comes into conflict if you add one of the shopify theme-scripts to your app.

I'm using the @shopify/theme-images library for responsive images and webpack fails to build the project when I import the package.

Link to the config issue:

'@shopify': path.resolve(__dirname, '../../shopify/')

I don't know if there is a way to avoid webpack alias when importing the lib.

One solution would be to change the alias.

I removed the alias from my project but it could happen to someone else. I just wanted to share this.

Thanks for your work 💪💪💪

Vue Router?

Is your feature request related to a problem? Please describe.

Not really, we just want to use the router.

Describe the solution you'd like

A /routes directory very much like the store is setup.

Additional context

I would like a better understanding of how routing currently happens.

Documentation is right? OS2.0 are available on any development store created after June 29, 2021.

Operating system

any os

Node.js version

any version

Shopify CLI version

any version

Browsers

Chrome

Version

4 (Current)

Modifications

Online Store 2.0 features are available on any development store created after June 29, 2021.

Is this correct? It seems if I have a production store running since last year I need to transfer my domain to new store? I doubt it but from this documentation people will think like that.

Details

Online Store 2.0 features are available on any development store created after June 29, 2021.

Is this correct? It seems if I have a production store running since last year I need to transfer my domain to new store? I doubt it but from this documentation people will think like that.

If the documentation is not correct please fix this.

Notice

  • I read the notice

Fresh Install with webpack error?

Version and operating system

Shopify CLI v2.0.1
Shopify Theme Lab v4.0.2
Mac OS 11.2.3 Big Sur
Node v14.17.1

Description

I just found out about this project and ran a new theme setup but can't seem to run npm run start successfully. Not sure if I missed a step or maybe running an incompatible version of node or something else.

Hitting a webpack rules error:

Additional Details
checkout_promotions_theme|⇒ npm run start

> [email protected] start /Users/gil/Sites/StoreRecon/checkout_promotions_theme
> run-p -sr shopify:serve webpack:watch

[webpack-cli] Failed to load '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/.config/webpack/webpack.dev.js' config
[webpack-cli] Error: Cannot find module 'webpack/lib/rules/DescriptionDataMatcherRulePlugin'
Require stack:
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/pluginWebpack5.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/plugin.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/index.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/.config/webpack/webpack.common.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/.config/webpack/webpack.dev.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack-cli/lib/webpack-cli.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack-cli/lib/bootstrap.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack-cli/bin/cli.js
- /Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack/bin/webpack.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
    at Object.<anonymous> (/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/pluginWebpack5.js:9:42)
    at Module._compile (/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/pluginWebpack5.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/plugin.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/vue-loader/dist/index.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/.config/webpack/webpack.common.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/.config/webpack/webpack.dev.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack-cli/lib/webpack-cli.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack-cli/lib/bootstrap.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack-cli/bin/cli.js',
    '/Users/gil/Sites/StoreRecon/checkout_promotions_theme/node_modules/webpack/bin/webpack.js'
  ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `run-p -sr shopify:serve webpack:watch`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/gil/.npm/_logs/2021-07-16T18_36_47_147Z-debug.log

Steps to reproduce

  1. shopify theme init -u https://github.com/uicrooks/shopify-theme-lab
  2. npm install
  3. npm run start

Some basic googling hinted at https://vue-loader.vuejs.org/migrating.html#notable-breaking-changes VueLoaderPlugin but not seeing anything too crazy

Same error happens when using the foundation theme, shopify theme init -u https://github.com/uicrooks/shopify-foundation-theme

Captcha white screen of death?

Operating system

MacOS 10.15.7

Node.js version

12.13.0

Shopify CLI version

2.7.1

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

I'm having a problem rendering {{ content_for_layout }} on the recaptcha template using the if statement block included in theme.liquid. Since the if statement ensures Vue instance isn't initialized, I wouldn't imagine it'd be a Vue issue. The template-captcha.liquid snippet is rendering, but {{ content_for_layout }} isn't loading anything. Ever seen this before? Any ideas as to why this might be occurring? Thanks in advance.

Love Theme Lab and Foundation theme btw!

Notice

  • I read the notice

[Question]: Pass props/data from liquid to vue component

Operating system

Mac

Node.js version

16

Shopify CLI version

2.0

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

Question.
How can I pass an array of items/products into a vue component ? (I would prefer pass data instead of using slots)
For instance:

 <render-items :items="{{ products }}"></render-items>

I came from working with twig and in twig I would use a filter: :items="{{ products | json_encode }}"

What people use to do something similar to that, for example to pass images into a gallery, or other objects/arrays into a vue component ?

Thank you!

Notice

  • I read the notice

[Bug]: ESLint extension on VS Code can not find the config file

Operating system

Windows 10

Node.js version

14.16.0

Shopify CLI version

2.7.2

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

Problem:
It seems ESLint extension can not detect the .config/.eslintrc.js
ESLint error is not showing up in the VS Code with ESLint extension. But the yarn fix:js work just fine.


Steps:

  1. Clone & yarn the project
  2. Create a component under src/vue/components/render
  3. Use Ctrl+Shift+Uto open OUTPUT in VS Code, select the ESLint output, and it said:
[Info  - 10:38:15 AM] ESLint server is starting
[Info  - 10:38:16 AM] ESLint server running in node v14.16.0
[Info  - 10:38:16 AM] ESLint server is running.
[Info  - 10:38:17 AM] ESLint library loaded from: D:\_shopify\concept-themes\Nov-14-theme\node_modules\eslint\lib\api.js
[Warn  - 10:38:22 AM] 
No ESLint configuration (e.g .eslintrc) found for file: d:\_shopify\concept-themes\Nov-14-theme\src\vue\components\render\mouse-target.vue
File will not be validated. Consider running 'eslint --init' in the workspace folder Nov-14-theme
Alternatively you can disable ESLint by executing the 'Disable ESLint' command.

Notice

  • I read the notice

[Bug]: blank screen when you have vanilla javascript

Operating system

os x

Node.js version

17.6.0

Shopify CLI version

2.11.2

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

  1. I am developing shopify store based os2.0 with uicrook.
  2. When I have javascript some vanilla javascript in the page template and I get the blank screen
  3. when I run into issue I have something like this and only happens when I push to shopify it works nicely in the local environment.
  4. I want to find out if I use uicrook vannila javascript is not allowed in the .*liquid file?
Uncaught SyntaxError: 60
    at Yo (bundle.js?v=174704609598485302911655352976:68:540697)
    at Pf (bundle.js?v=174704609598485302911655352976:68:584847)
    at Array.Af (bundle.js?v=174704609598485302911655352976:68:585222)
    at su (bundle.js?v=174704609598485302911655352976:68:559818)
    at bundle.js?v=174704609598485302911655352976:68:560222
    at su (bundle.js?v=174704609598485302911655352976:68:560232)
    at bundle.js?v=174704609598485302911655352976:68:560222
    at su (bundle.js?v=174704609598485302911655352976:68:560232)
    at bundle.js?v=174704609598485302911655352976:68:560222
    at su (bundle.js?v=174704609598485302911655352976:68:560232)

Notice

  • I read the notice

[Bug]: Not longer compiling with Shopify CLI 3.0

Operating system

Mac OS Monterey

Node.js version

16

Shopify CLI version

3.0

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

When updating to Shopify CLI 3.0 the current package scripts to run the Shopify environment do not work from the root directory. It seems as though Shopify requires their scripts to run directly within the shopify directory. So the only workaround possible so to run two different scripts: one for Vue, CSS and JS Compiling and one for Shopify CLI

Someone also posted this issue within the Shopify CLI github repo: Shopify/cli#1394

Notice

  • I read the notice

[Bug]: Do you support any app comes with jquery widgets?

Operating system

Mac

Node.js version

17.6.0

Shopify CLI version

2.11.2

Browsers

Chrome

Version

4 (Current)

Modifications

I notice whenever I installed shopify apps comes with jquery widget and if it has it's app page they end of in a blank screen. Is this mean we can't have any app with jquery widget if I am using uicrook? If there is some workaround please let me know.

Details

Install store locator or wish list go to it's application page the page is blank!

Notice

  • I read the notice

Issue with reloader

Reloader seems to have an issue, it says disconnected.

ERROR in console:-

WebSocket connection to 'ws://localhost:5050/' failed:
_init @ client.js:21
eval @ client.js:39

Using v-lazy directive error

After adding vue-lazyload and in main.js:

import VueLazyload from "vue-lazyload";
...
Vue.use(VueLazyload);

then as soon as you add <img v-lazy="... in any template, it causes an error in the console:

Failed to generate render function:

SyntaxError: Unexpected token '}' in ....

Should v-lazy directive be somehow added as global directive under src/vue/directives ?

Save theme customisations ?

Operating system

osx

Node.js version

0

Shopify CLI version

2.00

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

How do you deploy a theme without losing the changes made in the theme customiser? I would like to be able to copy over the changes I make in the temporary editor when using "npm run start"

Notice

  • I read the notice

[Question]: Installing add-ons

Operating system

Windows 10

Node.js version

14.0.0

Shopify CLI version

2.0.0

Browsers

No response

Version

3 (Legacy)

Modifications

No response

Details

Hello, i've installed an add-on "Judgme App" to be more exact but everytime I enable it I get an javascript error in the browser "Uncaught SyntaxError: 59" .

I'm assuming this is because the add-on is installing a script inside my product.liquid page.

Is there anyway to make this work ? ( I only have this problem after I build the project , on dev is working fine )

Notice

  • I read the notice

[Bug]: Static assets not loaded after pushing to shopify

Operating system

Ubuntu

Node.js version

16

Shopify CLI version

2.18

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

  1. Put a few image files (e.g. test.static.png) in the /shopify/assets directory
  2. Create a page, and use them as a normal asset like: <img src="/assets/test.static.png">, or within a vue component
  3. Test on local with shopify theme serve, verify that it works
  4. Push to shopify
  5. View it on live shopify, verify that it doesn't show up. Expectations: image shows up on both local and production

Notice

  • I read the notice

[Bug]: DaisyUI Compatability

Operating system

Linux Mint 19.3 Cinnamon

Node.js version

14.15.4

Shopify CLI version

2.2.0

Browsers

No response

Version

4 (Current)

Modifications

I added DaisyUI and Tailwind Forms plugins.

In tailwind.config.js:

module.exports = {
  ...
  plugins: [
    require('daisyui'),
    require('@tailwindcss/forms'),
  ],
  ...
}

Details

  1. I installed Tailwind Forms (npm i @tailwindcss/forms) and added to tailwind.config.js
  2. I ran npm run start and confirmed Tailwind Forms is working as expected
  3. I installed DaisyUI (npm i daisyui) and added to tailwind.config.js
  4. I ran npm run start and hit the following error:
🌼 DaisyUI components 1.14.0  https://github.com/saadeghi/daisyui
  ✔︎ Including:  base, components, themes[21], utilities
  
Unknown error from PostCSS plugin. Your current PostCSS version is 8.3.6, but postcss-preset-env uses 7.0.36. Perhaps this is the source of the error below.
1 asset
40 modules

ERROR in ./src/css/main.css
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
ParserError: Syntax Error at line: 1, column 26
    at Parser.error .(./node_modules/postcss-values-parser/lib/parser.js:127:11)
    at Parser.operator (./node_modules/postcss-values-parser/lib/parser.js:162:20)
    at Parser.parseTokens (./node_modules/postcss-values-parser/lib/parser.js:245:14)
    at Parser.loop (./node_modules/postcss-values-parser/lib/parser.js:132:12)
    at Parser.parse (./node_modules/postcss-values-parser/lib/parser.js:51:17)
    at ./node_modules/postcss-color-functional-notation/index.cjs.js:15:54
    at ./node_modules/postcss/lib/container.js:72:18
    at ./node_modules/postcss/lib/container.js:55:18
    at Rule.each (./node_modules/postcss/lib/container.js:41:16)
    at Rule.walk (./node_modules/postcss/lib/container.js:52:17)
    at processResult (./node_modules/webpack/lib/NormalModule.js:721:19)
    at ./node_modules/webpack/lib/NormalModule.js:827:5
    at ./node_modules/loader-runner/lib/LoaderRunner.js:399:11
    at ./node_modules/loader-runner/lib/LoaderRunner.js:251:18
    at context.callback (./node_modules/loader-runner/lib/LoaderRunner.js:124:13)
    at Object.loader (./node_modules/postcss-loader/dist/index.js:142:7)

1 ERROR in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details)
webpack 5.51.1 compiled with 2 errors in 2001 ms

Any ideas or suggestions how to get these DaisyUI working? Much appreciated 🌟

Notice

  • I read the notice

[Question]: Add App and/or Filters

Operating system

Mac

Node.js version

16

Shopify CLI version

2

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

I am trying to install an app (boostcommerce filters) manually and got stuck several times mainly because I think it relies on normal shopify structure. Has anyone install this app before? or another similar app ?

Any recommendation with filters using this repo/project/structure ?

Thank you!

Notice

  • I read the notice

[Bug]: Fonts return "Failed to decode downloaded font" when uploaded following the docs

Operating system

Windows 10

Node.js version

15.5.0

Shopify CLI version

2.1.0

Browsers

Chrome

Version

4 (Current)

Modifications

No response

Details

When adding fonts to my assets folder, and then referencing per the docs I get some errors.

It looks like the fonts might be being uploaded to shopify as the wrong type of file?

image

Notice

  • I read the notice

Edits to duplicated theme spill over into currently published live theme

Just as a preface, I’m a few versions behind release/version 3.

I apologize if I’m missing something, but I have duplicated a theme, (and updated the dev/live configs to use that new theme ID) and restarted all processes with the new config, however any changes I make go directly to the live (published theme).. that goes for styles, templates, pretty much every file.

We’re just baffled as to why the changes don’t only go to the new duplicated theme (that has the new ID in the config) it’s making it hard to work on edits since we don’t want the live site looking messed up.

If I make edits to files in the duplicated theme via the web editor they don’t leak over to the published theme, so I’m not sure what I have wrong.

Thank you,
Ryan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.