Giter Club home page Giter Club logo

wax's Introduction

minicomp/wax ๐Ÿ

Gem Version PRs Welcome CI:Test Depfu Gem Downloads Join the chat the minicomp-wax channel of the Code4Lib Slack License

Wax is an extensible workflow for producing scholarly exhibitions with minimal computing principles.
It's comprised of: a few Ruby gems for processing image data and associated metadata (wax_tasks, wax_iiif), a Jekyll theme (wax_theme), and (hopefully soon!) a lot of documentation and recipes for creating, deploying, and maintaining digital exhibitions.



Prerequisites

You'll need git and ruby >= 3.2 with bundler installed. These dependencies can either be installed natively on your system or within a Docker environment. For instructions, check the Wiki's Setting up your system page.

Check your versions with:

ruby -v
bundler -v

To process images, you will also need to have ImageMagick and Ghostscript installed and functional. You can check to see if you have ImageMagick by running:

convert -version

... and check Ghostscript with:

gs -version

Vips will soon replace ImageMagick for Wax's image processing. If you're ahead of the curve, you can check your version with

vips -v

Getting Started

There are a few ways to get started with Wax, depending on your needs. Copyin the demo template is suggested for new users so you can see how a full Wax site would work. Advanced Jekyllers can start from a clean Jekyll install. To start with the demo:

  1. Log into your GitHub account. (Or sign up if you don't have one!)

  2. Head to the Wax demo page and click "Use this Template" button. It will prompt you to create a copy of the repository in your own account. You should name it after the collection or exhibition you'll make, since this name will inform your free URL for the project with GitHub. For this example, our repository is called "my-wax-site".

  3. On your own, new Wax repository page, click the Green "Code" button and copy the URL it provides to your clipboard, e.g,

[email protected]:mnyrop/my-wax-site.git
  1. Open your Terminal/Shell application and change directory into where you'd like to work on your project, e.g., your Desktop:
cd ~/Desktop
  1. Run the git clone command plus the link you copied on your clipboard in one line, e.g.,
git clone [email protected]:mnyrop/my-wax-site.git
  1. When the clone is complete, change directory into your newly cloned project folder, in our case:
cd my-wax-site
  1. Install the project-specific Ruby dependencies by running the command
bundle install
  1. Run the demo site:
bundle exec jekyll serve

After the last step, the terminal will provide you with a localhost URL for you to see your local copy of the site on your browser. This is the template site you will make changes to in order to make your own exhibition. For more, check out the Minicomp/Wax Wiki.

Using Docker

To use Wax in a container, make sure you are familiar with Docker and have Docker installed.

Run the "Getting Started" steps 1-6 above to copy and cd into the repo.

Next, build the minicomp/wax base image:

docker build -t minicomp/wax .

You will run all of the Wax tasks and commands within an interactive bash container, which you can create and access by running:

docker run -it --rm -v "$PWD":/wax --name wax -p 4000:4000 minicomp/wax bash

To serve the site, you can run the following command in the guest container and view it in your host browser:

bundle exec jekyll serve --host 0.0.0.0

You can exit the container at any time with $ exit, which will automatically stop and remove the container.

Contributing

We welcome contributions to Wax, including bug reports and feature requests (submitted as Issues), code contributions (submitted as Pull Requests), and documentation updates (submitted however!) Not sure where to start? Feel free to get in touch via GitHub issue or grab an invite to join the conversation on the #minicomp-wax channel of the Code4Lib Slack.

wax's People

Contributors

amzoss avatar awoods avatar bmschmidt avatar cassws avatar dzoladz avatar ej2432 avatar elotroalex avatar frederik-elwert avatar gitter-badger avatar mnyrop avatar pbinkley avatar timothyarthur 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

wax's Issues

WaxTasks::Error:MissingPID

Hi All,

I'm trying to run the tasks with my own small collection of images. I keep running into this error: WaxTasks::Error::MissingPid: Collection is missing pid for item 0. I've checked the CSV file and folder within raw_images for obvious errors (formatting matches the example, etc). I can't figure it out. Any thoughts?

Thanks.

wax-master kate$ bundle exec rake wax:derivatives:iiif vinsel
rake aborted!
WaxTasks::Error::MissingPid: Collection is missing pid for item 0.
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in block in assert_pids' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in each'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in each_with_index' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in assert_pids'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:20:in ingest' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/metadata.rb:39:in records_from_metadata'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/images.rb:27:in items_from_imagedata' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/images.rb:117:in write_iiif_derivatives'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/site.rb:59:in generate_derivatives' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in block (4 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in each' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in block (3 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in load'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in kernel_load' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in run'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in exec' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in dispatch' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in start' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in block in <top (required)>'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in with_friendly_errors' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in <top (required)>'
/Users/kate/.gem/ruby/2.6.0/bin/bundle:23:in load' /Users/kate/.gem/ruby/2.6.0/bin/bundle:23:in

'
Tasks: TOP => wax:derivatives:iiif
(See full trace by running task with --trace)
128-111-61-45:wax-master kate$

search UI optimizations

coordinate with wax_tasks lunr task (as needed) to make lunr UI more flexible and user friendly.
will edit/add to this issue with specific tasks.

Fix gemspec

When I tried to install the bundler gave the follow error:

Bundler could not find compatible versions for gem "i18n":
In Gemfile:
html-proofer (~> 3.10) was resolved to 3.11.0, which depends on
activesupport (< 6.0, >= 4.2) was resolved to 5.2.3, which depends on
i18n (< 2, >= 0.7)

wax_theme was resolved to 1.0.0, which depends on
  jekyll (~> 3.8) was resolved to 3.8.6, which depends on
    i18n (~> 0.7)

Bundler could not find compatible versions for gem "ruby":
In Gemfile:
ruby

wax_theme was resolved to 1.0.0, which depends on
  wax_tasks (< 1.1, >= 1.0.1) was resolved to 1.0.2, which depends on
    ruby (>= 2.4)

Openseadragon for IIIF ~and~ simple image viewing.

Hi Marii and Alex!

I created derivative images from a pdf. Unfortunately I could not scroll through the images using the Simple viewer. It would be great if instead there could be a link or viewer to open the pdf file?

Best,
Indivar

Multi-page items displaying in random page order

Hello,
All of the multi-image items on my attempted Wax site are displaying in a random order. The raw image files are ordered numerically, but don't appear in that order via openseadragon. This is happening with items that are jpegs and items that are tiffs. Any suggestions on places to start?
Thank you.
Ansley

"Rake aborted" when generating derivatives

Very much a novice here...

Following the documentation, when I run the first task the rake aborts and I get this message:

Generating IIIF derivatives for collection 'zines'
This might take awhile.
rake aborted!
WaxIiif::Error::InvalidImageData: Cannot read this image file: _data/raw_images/zines/zine2.jpg. identify /var/folders/5t/n99lj6td3_q74h427zhjfc5m0000gn/T/mini_magick20191010-84071-b38gzx.jpg failed with error:
identify: no decode delegate for this image format JPG' @ error/constitute.c/ReadImage/560. /usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/image_variant.rb:37:in rescue in initialize'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/image_variant.rb:34:in initialize' /usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:233:in new'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:233:in generate_variants' /usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:253:in block in process_image_records'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:246:in each' /usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:246:in process_image_records'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:76:in block in process_data' /usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:73:in each'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_iiif-0.1.2/lib/wax_iiif/builder.rb:73:in process_data' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/images.rb:124:in write_iiif_derivatives'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/site.rb:59:in generate_derivatives' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in block (4 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in each' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in block (3 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.3/exe/rake:27:in <top (required)>' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in load'
/Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in kernel_load' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in run'
/Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in exec' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in dispatch' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in start' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in block in <top (required)>'
/Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in with_friendly_errors' /Users/musicforparkinglots/.gem/ruby/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in <top (required)>'
/usr/local/opt/ruby/bin/bundle:23:in load' /usr/local/opt/ruby/bin/bundle:23:in

'

Caused by:
MiniMagick::Invalid: identify /var/folders/5t/n99lj6td3_q74h427zhjfc5m0000gn/T/mini_magick20191010-84071-b38gzx.jpg failed with error:
identify: no decode delegate for this image format `JPG' @ error/constitute.c/ReadImage/560.

I can run the site locally, but no images are generated. Any ideas?

WaxTasks::Error::InvalidCollection

When I run wax:derivatives:simple it looks like everything works but no additional data is written to my csv:

kaizen:cybermountain edsu$ bundle exec rake wax:derivatives:simple cybermountain
Writing image derivative info ./_data/metadata.csv.

When running with --trace you can see that there it is encountering an error WaxTasks::Error::InvalidCollection: Cannot load collection config for wax:derivatives:simple.

kaizen:cybermountain edsu$ bundle exec rake --trace wax:derivatives:simple cybermountain
** Invoke wax:derivatives:simple (first_time)
** Execute wax:derivatives:simple
rake aborted!
WaxTasks::Error::InvalidCollection: Cannot load collection config for wax:derivatives:simple.
key not found: "wax:derivatives:simple"
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/collection.rb:32:in `rescue in config'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/collection.rb:30:in `config'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/collection.rb:23:in `initialize'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/image_collection.rb:17:in `initialize'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:108:in `new'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:108:in `block in derivatives_simple'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:107:in `each'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:107:in `derivatives_simple'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/tasks/derivatives_simple.rake:10:in `block (3 levels) in <top (required)>'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/Users/edsu/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:83:in `block in run'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/rake:23:in `load'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/rake:23:in `<main>'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'

Caused by:
KeyError: key not found: "wax:derivatives:simple"
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/collection.rb:30:in `fetch'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/collection.rb:30:in `config'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/collection.rb:23:in `initialize'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/image_collection.rb:17:in `initialize'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:108:in `new'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:108:in `block in derivatives_simple'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:107:in `each'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/wax_tasks/task_runner.rb:107:in `derivatives_simple'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/wax_tasks-1.0.0.pre.beta/lib/tasks/derivatives_simple.rake:10:in `block (3 levels) in <top (required)>'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/Users/edsu/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:83:in `block in run'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
/Users/edsu/.rvm/gems/ruby-2.4.1/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/rake:23:in `load'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/rake:23:in `<main>'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/Users/edsu/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => wax:derivatives:simple

I am using the v1.0.0 branch on minicomp/wax and here is a list of my installed gems:

kaizen:cybermountain edsu$ bundle list
Gems included by the bundle:
  * activesupport (5.2.3)
  * addressable (2.6.0)
  * bundler (2.0.1)
  * colorator (1.1.0)
  * colorize (0.8.1)
  * concurrent-ruby (1.1.5)
  * em-websocket (0.5.1)
  * ethon (0.12.0)
  * eventmachine (1.2.7)
  * ffi (1.10.0)
  * forwardable-extended (2.6.0)
  * html-proofer (3.10.2)
  * http_parser.rb (0.6.0)
  * i18n (0.9.5)
  * jekyll (3.8.5)
  * jekyll-sass-converter (1.5.2)
  * jekyll-watch (2.2.1)
  * kramdown (1.17.0)
  * liquid (4.0.3)
  * listen (3.1.5)
  * mercenary (0.3.6)
  * mini_magick (4.9.3)
  * mini_portile2 (2.4.0)
  * minitest (5.11.3)
  * nokogiri (1.10.3)
  * parallel (1.17.0)
  * pathutil (0.16.2)
  * public_suffix (3.0.3)
  * rake (12.3.2)
  * rb-fsevent (0.10.3)
  * rb-inotify (0.10.0)
  * rouge (3.3.0)
  * ruby_dep (1.5.0)
  * safe_yaml (1.0.5)
  * sass (3.7.4)
  * sass-listen (4.0.0)
  * thread_safe (0.3.6)
  * typhoeus (1.3.1)
  * tzinfo (1.2.5)
  * wax_iiif (0.1.0)
  * wax_tasks (1.0.0.pre.beta)
  * wax_theme (1.0.0)
  * yell (2.1.0)

Thumbnails not showing on multipage

Hi Marii and Alex,

Thanks so much for developing Wax. I set up a gh-pages site using the Wax demo for a collection of multi-page documents (five separate documents, each document 9-30 images). My raw images are in five folders, and the images in each of the folders are jpegs. Here's a link to the repository:

Repo: https://github.com/jm-chris/grassroots_september/tree/gh-pages
Site: https://jm-chris.github.io/grassroots_september/

After I run the tasks for iiif derivatives, the site builds just fine, but I run into two issues with the thumbnails on the 'collection_item' pages. First, the actual images for each of the thumbnails don't seem to display. There is a kind of greyed-out placeholder button where a thumbnail should be that still lets you click forward to the next image, but the thumbnail itself isn't there, and I am not sure if it was ever produced. When I run the iiif derivatives task, I do get a repeating error message in the terminal (pasted at the bottom here) but I'm not sure if it's related.

Second, for the 'shadow thumbnails' and the derivatives that do output to the site, they don't seem to hold to any particular order with regard to the original sequencing in my raw images/collection directory. Within my raw images/collection directory, my folder was named doc1 (same as the pid in the .csv), and then the jpegs inside were named either 00.jpeg, 01.jpeg, 02.jpeg... OR alternately aa.jpeg ab.jpeg, ac.jpeg...and so on. I tried both numerical and alphabetic naming conventions separately and ran the tasks for each, but in each case, running the iiif derivatives tasks would scramble the order of the images on the site, so image 01.jpeg would be followed by 05.jpeg, or 29.jpeg, in seemingly random fashion.

Any ideas on what might be happening? Is this a Wax thing or an ImageMagick thing? Any ideas or suggestions would be greatly appreciated!

Here's what I'm running:
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
Bundler version 2.0.2
jekyll 3.8.6
Version: ImageMagick 7.0.8-56 Q16 x86_64 2019-07-24
GPL Ghostscript 9.27 (2019-04-04)

Error message from Terminal when running iiif derivatives task:

[########### ] [1/5] [ 20.00%] [02:36] [10:27] [0.01/s]mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1jouj5i.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-6uvpyf.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-16ww8fv.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1wha3ex.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-10n0drv.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-191bfum.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-si5esh.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-110qwcm.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1bjmejw.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1o38a6a.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1wdywaw.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-qigmhu.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-kee7nr.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-p9htrn.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-zljj35.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1xdor24.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-13rr5se.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1gi99ai.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-13pr2y5.jpeg' @ warning/transform.c/CropImage/643. [############################################ ] [4/5] [ 80.00%] [13:15] [03:18] [0.01/s]mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-yud0wd.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image `/var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1un8p5m.jpeg' @ warning/transform.c/CropImage/643.

Thumbnails and images not loading

Dear @elotroalex @mnyrop,

Thank you very much for developing such a wonderful resource for digital humanities. I am working to migrate a shockwave flash digital humanities site to a more modern stack and so I decided to use Jekyll and the wonderful wax template. I know there is a lot going on presently in this time of COVID-19 but I have a question about wax.
I'm running

  • ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
  • jekyll 4.0.0
  • wax:derivatives:iiif

I am having two issues:

  1. on pages calling: collection_gallery.html I am unable to load the thumbnail gallery. However I'm not getting an error message in terminal or in Google Chrome Dev Tools.
  2. when I go to my collection _qatar some objects load in openseadragon and others do not.

my repository is: github.com/adamdjbrett/sullivan-clinton-wax

I feel like I am missing something obvious what should I do?

Images not generating

Hello! I run the server, which gives me no errors; but when I load the localhost:4000/wax/ site, I get a string of errors and no images in the IIIF viewer or the gallery below. The errors are as follows:

[2018-10-05 09:45:26] ERROR /wax/iiif/qatar/images/obj6-1/full/1140,/0/default.jpg' not found. [2018-10-05 09:45:26] ERROR /wax/iiif/qatar/images/obj10-1/full/1140,/0/default.jpg' not found.
[2018-10-05 09:45:26] ERROR /wax/iiif/qatar/images/obj7-1/full/1140,/0/default.jpg' not found. [2018-10-05 09:45:26] ERROR /wax/iiif/qatar/images/obj1-1/full/1140,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj6-1/full/1140,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj10-1/full/1140,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj1-1/full/1140,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj1-1/full/250,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj2-1/full/250,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj5-1/full/250,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj3-1/full/250,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj4-1/full/250,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj7-1/full/250,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj6-1/full/250,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj8-1/full/250,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj10-1/full/250,/0/default.jpg' not found.
[2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj9-1/full/250,/0/default.jpg' not found. [2018-10-05 09:45:27] ERROR /wax/iiif/qatar/images/obj11-1/full/250,/0/default.jpg' not found.

I note that every object in wax/src/_data/iiif/qatar appears in the above errors (in a modified form) at least once, but several of them appear more than once.

I tried following the directions here: https://minicomp.github.io/wiki/#/wax/guides/tasks?id=top and ran into two problems. One, I don't have a wax_tasks directory. Two, I don't have a _qatar directory, but did rm -rf src/_data/iiif. Three, I tried bundle exec rake wax:pagemaster qatar, got an error. Here's the full error with --trace:

rake aborted!
Don't know how to build task 'wax:pagemaster' (see --tasks)
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/task_manager.rb:59:in []' /usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:159:in invoke_task'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:116:in block (2 levels) in top_level' /usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:116:in each'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:116:in block in top_level' /usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:125:in run_with_threads'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:110:in top_level' /usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:83:in block in run'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:186:in standard_exception_handling' /usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/lib/rake/application.rb:80:in run'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.1/exe/rake:27:in <top (required)>' /usr/local/bin/rake:23:in load'
/usr/local/bin/rake:23:in <top (required)>' /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/cli/exec.rb:75:in load'
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/cli/exec.rb:75:in kernel_load' /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/cli/exec.rb:28:in run'
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/cli.rb:424:in exec' /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/cli.rb:27:in dispatch' /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/cli.rb:18:in start' /usr/local/bin/bundle:30:in block in

'
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/bundler/friendly_errors.rb:122:in with_friendly_errors' /usr/local/bin/bundle:22:in '

What do I do now? Should I have Ruby knowledge at this point that I don't have?

IIIF Image Server?

Hi, silly question. Does this repository assume Amazon S3 (as CMOA IIIFS3 does)?

lunr index generation needs attention

it seems that the file is being placed in the /js/ folder and mislabeled as lunr-index.json when the lunr-ui.js wants it to be root and labeled search-index.json.

More informative error messages for .csv issues than Error::MissingPid?

Hi there! @amzoss and I encountered a similar scenario to #65 -- in our case, an Excel encoding issue with our source .csv inserted an extra byte into the head of the csv which provoked the error.

Would it be possible to either:

(1) replace language around "MissingPid" with more generic language referring to issues reading the .csv and direct user to the style guide,

(2) add more specific detection and communication of errors, so opposite direction, or

(3) incorporate some parsing/input handling in the rake tooling, if that's possible? @amzoss used vim to strip out extra bytes as per this, don't know if that'd be relevant.

I'm happy to contribute a PR towards whatever approach makes the most sense! Thank you ^_^

Can the forked demo site run on Github Pages?

I can run the demo site fine on my machine, but when I attempt to deploy it to a Github Pages site, the build fails. Inspecting the Gemfile reveals the problem, the github_pages gem is not included, but can a fork of the demo site run on Github Pages?

First image request sometimes does not load

Although not every time, with a fair degree of regularity, when I come to our site (and even to https://minicomp.github.io/wax/) the first image I click in the gallery navigates to the item viewer... but the viewer is blank.

If I reload the page, the image appears in the viewer. Subsequent clicks on the same and other images result in the expected, correct loading behavior.

It seems that possibly the openseadragon viewer loads before the image... resulting in an empty viewer.

Possibly not critical, but it is a non-optimal user experience when the first image they select does not load.

Problems serving jekyll

I realise this may not an issue depending from minicomp/wax, but I haven't been able to serve jekyll using the bundle exec jekyll serve command. I get the following:

/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/uri.rb:106:in `require': /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/uri/generic.rb:212: syntax error, unexpected '.' (SyntaxError)
      @scheme&.freeze
               ^
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/uri/generic.rb:335: syntax error, unexpected '.'
      @scheme = v&.downcase
                   ^
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/uri/generic.rb:1320: syntax error, unexpected '.'
      if path&.empty?
               ^
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/uri/generic.rb:1563: syntax error, unexpected keyword_end, expecting end-of-input
	from /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/uri.rb:106:in `<top (required)>'
	from /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/rubygems/specification.rb:18:in `require'
	from /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/rubygems/specification.rb:18:in `<top (required)>'
	from /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/rubygems.rb:1376:in `require'
	from /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/rubygems.rb:1376:in `<module:Gem>'
	from /usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/rubygems.rb:117:in `<top (required)>'
	from <internal:gem_prelude>:1:in `require'
	from <internal:gem_prelude>:1:in `<compiled>'

Any idea what's going on or where I can start looking for a solution? I never had problems previously serving jekyll without bundler for my non-minicomp website.

Cheers,
Wilko

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.