Minimal-mistakes: After the new version of vendor/susy unable to compile sass

Created on 16 Aug 2017  路  6Comments  路  Source: mmistakes/minimal-mistakes

  • [x] This is a question about using the theme.
  • [ ] This is a feature request.
  • [x] I have updated all gems with bundle update.
  • [x] I have tested locally with bundle exec jekyll build.
  • [x] I believe this to be a bug with the theme --- not Jekyll, GitHub Pages or one of the bundled plugins.

Environment informations

  • Minimal Mistakes version:
$ grep minimal Gemfile
gem "minimal-mistakes-jekyll", :git => "https://github.com/mmistakes/minimal-mistakes.git", :branch => "master"
$ grep minimal Gemfile.lock 
  remote: https://github.com/mmistakes/minimal-mistakes.git
    minimal-mistakes-jekyll (4.5.0)
  minimal-mistakes-jekyll!
  • github-pages or jekyll gem version:
$ gem --version
2.6.12
$ jekyll --version
jekyll 3.5.1
  • Operating system:
Linux 559d6849779c 4.10.0-28-generic #32-Ubuntu SMP Fri Jun 30 05:32:18 UTC 2017 x86_64 GNU/Linux

Expected behavior

Configuration file: /usr/src/app/_config.yml
            Source: /usr/src/app
       Destination: /usr/src/app/_site
 Incremental build: enabled
      Generating... 

Steps to reproduce the behavior

$ git clone https://github.com/mmistakes/minimal-mistakes.git  
$ cd minimal-mistakes
$ git reset --hard 3e781220a1cb5d47312a3db25d7c6ae6dc375b2b
$ wget https://raw.githubusercontent.com/kmassada/kmassada.github.io/jekyll-3.5/Dockerfile
$ docker build . -t minimal
$ docker run -p 4000:4000 -v "$PWD":/usr/src/app -w /usr/src/app minimal
Configuration file: /usr/src/app/_config.yml
       Deprecation: The 'gems' configuration option has been renamed to 'plugins'. Please update your config file accordingly.
            Source: /usr/src/app
       Destination: /usr/src/app/_site
 Incremental build: enabled
      Generating... 
  Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/css/main.scss':
                    Invalid US-ASCII character "\xE2" on line 54
jekyll 3.5.2 | Error:  Invalid US-ASCII character "\xE2" on line 54

additional steps

file list diff between 4.4 and 4.5.

After resetting each file, one at the time. I was able to identify the problem with _sass/minimal-mistakes/vendor/susy, need guidance on how to fix it.

 $ git diff origin master --name-only
Dockerfile
Gemfile.lock
README.md
_config.yml
_data/ui-text.yml
_includes/analytics.html
_includes/page__hero.html
_layouts/default.html
_layouts/single.html
_sass/minimal-mistakes.scss
_sass/minimal-mistakes/_archive.scss
_sass/minimal-mistakes/_footer.scss
_sass/minimal-mistakes/_masthead.scss
_sass/minimal-mistakes/_navigation.scss
_sass/minimal-mistakes/_page.scss
_sass/minimal-mistakes/_reset.scss
_sass/minimal-mistakes/_sidebar.scss
_sass/minimal-mistakes/_syntax.scss
_sass/minimal-mistakes/_tables.scss
_sass/minimal-mistakes/_utilities.scss
_sass/minimal-mistakes/_variables.scss
_sass/minimal-mistakes/vendor/susy/_susy-prefix.scss
_sass/minimal-mistakes/vendor/susy/_susy.scss
_sass/minimal-mistakes/vendor/susy/_susyone.scss
_sass/minimal-mistakes/vendor/susy/plugins/_svg-grid.scss
_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_prefix.scss
_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-api.scss
_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-grid-math.scss
_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-settings.scss
_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-unprefix.scss
_sass/minimal-mistakes/vendor/susy/plugins/svg-grid/_svg-utilities.scss
_sass/minimal-mistakes/vendor/susy/susy/_api.scss
_sass/minimal-mistakes/vendor/susy/susy/_normalize.scss
_sass/minimal-mistakes/vendor/susy/susy/_parse.scss
_sass/minimal-mistakes/vendor/susy/susy/_settings.scss
_sass/minimal-mistakes/vendor/susy/susy/_su-math.scss
_sass/minimal-mistakes/vendor/susy/susy/_su-validate.scss
_sass/minimal-mistakes/vendor/susy/susy/_su.scss
_sass/minimal-mistakes/vendor/susy/susy/_syntax-helpers.scss
_sass/minimal-mistakes/vendor/susy/susy/_unprefix.scss
_sass/minimal-mistakes/vendor/susy/susy/_utilities.scss
_sass/minimal-mistakes/vendor/susy/susy/language/_susy.scss
_sass/minimal-mistakes/vendor/susy/susy/language/_susyone.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_background.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_bleed.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_box-sizing.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_breakpoint-plugin.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_container.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_context.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_gallery.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_grids.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_gutters.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_isolate.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_margins.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_padding.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_rows.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_settings.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_span.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susy/_validation.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_background.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_functions.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_grid.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_isolation.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_margin.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_media.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_padding.scss
_sass/minimal-mistakes/vendor/susy/susy/language/susyone/_settings.scss
_sass/minimal-mistakes/vendor/susy/susy/output/_float.scss
_sass/minimal-mistakes/vendor/susy/susy/output/_shared.scss
_sass/minimal-mistakes/vendor/susy/susy/output/_support.scss
_sass/minimal-mistakes/vendor/susy/susy/output/float/_container.scss
_sass/minimal-mistakes/vendor/susy/susy/output/float/_end.scss
_sass/minimal-mistakes/vendor/susy/susy/output/float/_isolate.scss
_sass/minimal-mistakes/vendor/susy/susy/output/float/_span.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_background.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_container.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_direction.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_inspect.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_margins.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_output.scss
_sass/minimal-mistakes/vendor/susy/susy/output/shared/_padding.scss
_sass/minimal-mistakes/vendor/susy/susy/output/support/_background.scss
_sass/minimal-mistakes/vendor/susy/susy/output/support/_box-sizing.scss
_sass/minimal-mistakes/vendor/susy/susy/output/support/_clearfix.scss
_sass/minimal-mistakes/vendor/susy/susy/output/support/_prefix.scss
_sass/minimal-mistakes/vendor/susy/susy/output/support/_rem.scss
_sass/minimal-mistakes/vendor/susy/susy/output/support/_support.scss
_sass/minimal-mistakes/vendor/susy/susy/su/_grid.scss
_sass/minimal-mistakes/vendor/susy/susy/su/_settings.scss
_sass/minimal-mistakes/vendor/susy/susy/su/_utilities.scss
_sass/minimal-mistakes/vendor/susy/susy/su/_validation.scss
assets/js/_main.js
assets/js/main.min.js
Support

Most helpful comment

I want to add details in case anyone comes across this too. cloud images tend to not have locales configured.

apt-get install locales
locale-gen en_US.UTF-8
localedef -i en_US -f UTF-8 en_US.UTF-8
LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" bundle exec jekyll serve -H 0.0.0.0 --incremental --watch

All 6 comments

I have nothing to do with Susy so can't really say since those Sass files are included in the theme untouched.

Smells like a possible file encoding issue from this error you're getting.

Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/css/main.scss':
Invalid US-ASCII character "\xE2" on line 54
jekyll 3.5.2 | Error: Invalid US-ASCII character "\xE2" on line 54

I also don't have experience with Docker so it could be something there, or related to you having a different version of the Sass gem installed.

When Jekyll updated to 3.5.1 so did Sass which is when it started warning about functions in Susy that would eventually be deprecated in Sass 4.

spun a cloud instance, setup works fine for both yours and mine. which indicates problem perhaps with my dev setup

#Linux jekyll-test 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
git clone https://github.com/mmistakes/minimal-mistakes.git
cd minimal-mistakes
sudo apt-get install rubygems ruby-dev
sudo apt-get install linux-headers-$(uname -r) build-essential  zlib1g-dev
sudo gem install jekyll bundler
sudo gem install sass --no-user-install
bundle install
bundle exec jekyll serve -H 0.0.0.0 --incremental --watch

@kmassada That wouldn't surprise me. It's usually the case with Ruby and gems. Going to close this as it doesn't appear to be theme related.

Feel free to re-open if that's not the case.

I want to add details in case anyone comes across this too. cloud images tend to not have locales configured.

apt-get install locales
locale-gen en_US.UTF-8
localedef -i en_US -f UTF-8 en_US.UTF-8
LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" bundle exec jekyll serve -H 0.0.0.0 --incremental --watch

Thanks @kmassada I used your solution to adapt my Dockerfile:

FROM ruby:2

RUN apt-get update && \
    apt-get install locales && \
    locale-gen en_US.UTF-8 && \
    localedef -i en_US -f UTF-8 en_US.UTF-8

ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8

RUN gem install bundler

And there is my docker-compose.yml file:

version: '2'

services:
    jekyll:
        build: docker/jekyll
        volumes:
            - .:/var/www/html
        working_dir: /var/www/html
        ports:
            - 4000:4000
        command: bash -c "bundle install && bundle exec jekyll serve --host=0.0.0.0"

And I could run jekyll server

Was this page helpful?
0 / 5 - 0 ratings