The jekyll packages is pretty minimal and the generated site by a
"jekyll new" requires more than supplied by the package.  To get it to
work you either need to include the ruby package for bundler (as you
did), set GEM_HOME to some writable directory, and pull in the
development dependencies of ruby (to allow compilation of native code
gems).  Or stay minimal, here's an example:

  $ guix shell --pure jekyll -- jekyll new --skip-bundle testdir
  New jekyll site installed in /home/me/tmp/testdir.
  Bundle install skipped.
  $ echo title: test title > testdir/_config.yml # drop theme and plugins
  $ rm testdir/Gemfile # avoid bundler installing themes and plugins
  $ echo test content >> testdir/index.markdown
  $ guix shell --pure jekyll -- jekyll s --source=testdir
  Configuration file: /home/me/tmp/testdir/_config.yml
              Source: /home/me/tmp/testdir
         Destination: /home/me/tmp/_site
   Incremental build: disabled. Enable with --incremental
        Generating...
       Build Warning: Layout 'post' requested in 
_posts/2022-08-15-welcome-to-jekyll.markdown does not exist.
       Build Warning: Layout 'default' requested in 404.html does not exist.
       Build Warning: Layout 'page' requested in about.markdown does not exist.
       Build Warning: Layout 'home' requested in index.markdown does not exist.
                      done in 0.156 seconds.
   Auto-regeneration: enabled for 'testdir'
      Server address: http://127.0.0.1:4000
    Server running... press ctrl-c to stop.

I am not sure this is an issue because it does work for the minimal
approach.  Unfortunately it does not really operate as expected.  Maybe
the package should be altered to generate a minimal setup as in the
above example on "jekyll new"?

Cheers,
Remco



Reply via email to