1

I added the meta data for the videos to be displayed on the home page as follows:

index.html:

---
layout: default
title: lorem ipsum
description: |
  loren ipsum dolor sit amet, consectetur adipiscing elit. 
  Pellentesque rutrum lacus sed quam pulvinar cursus. Fusce dictum dolor.
animVideo:
  mp4: /videos/Satoshi-intro.mp4
  webm: /videos/Satoshi-intro.webm
  ogv: /videos/Satoshi-intro.ogv
  poster: /videos/Satoshi-intro.png
(...more data)
---
{% include hero-slider.html %}
<div class="section text-center bg-gray"  id="content" >
  <div class="container">
    ...
{% include why-use-s.html %}

When I run 'bundle exec jekyll serve', I get the error:

Liquid Exception: couldn't find file '' in `index.html' Checked in these paths: /var/etcetcetc ...
jekyll 3.8.1 | Error:  couldn't find file '' in `index.html'

I can confirm the error is due to the meta-data animVideo added above. The site runs fine without it. However, with the video files added, I get the above error. The folder path to the video files appears to be correct, which is located on the root folder /videos/[files]. The format of meta data seems to be fine as well.

I am without ideas, how to proceed further, how to debug & find the cause of the issue, hence turning to Stackoverflow.

Thanks

EDIT: As requested, here is the video embed code (which I believe is not the offending issue here.

why-use-s.html:

  <div class="container">
    {% if page.animVideo %}
    <div class="row">
      <div class="col-sm-12 text-center">
        <video id="introVideo" controls preload="auto" poster="{{ page.animVideo.poster }}">
          <source src="{{ page.animVideo.mp4 }}" type="video/mp4"/>
          <source src="{{ page.animVideo.webm }}" type='video/webm; codecs="vp8, vorbis"'/>
          <source src="{{ page.animVideo.ogv }}" type='video/ogg  codecs="theora, vorbis"' />
          <!-- Fallback object using Flow Player -->
          <object type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf"
                  width="640" height="360">
            <param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf"/>
            <param name="allowFullScreen" value="true"/>
            <param name="wmode" value="transparent"/>
            <param name="flashVars"
                   value="config={'playlist':[ '{% pic '{{ page.image }}' %}',{'url':'{{ page.animVideo.mp4 }}','autoPlay':true}]}"/>
            <img alt="My Movie" src="{{ page.animVideo.poster }}" width="640" height="360"
                 title="No video playback capabilities."/>
          </object>
          <!-- Fallback Text -->
          Your browser does not appear to support a video.
        </video>
      </div>
    </div>
 ...

And here is the folder structure, the index.html is within pages folder & videos is in root folder: image of folder structure

Kayote
  • 14,579
  • 25
  • 85
  • 144
  • Not enough code to reproduce this error. Can you post video embeding specific code ? Note that your error message doesn't come from Jekyll nor Liquid. Do you use plugins ? – David Jacquel Jun 26 '18 at 11:57
  • I am working on code I inherited from someone else, so I am not well versed with Jekyll. The plugin video embed code is very simple, I am posting the code above. Based on my deductive debugging, I believe the error is due to files. – Kayote Jun 26 '18 at 12:28
  • What is up with all the secrecy around bitcoin trading? So you are building the new www.satoshishouse.com website... who cares!? If you do not want to be associated with bitcoin stuff, you should not ask for help on a public forum. Makes sense, right? About your question: The rules on SO are that you provide us with your repository URL or [a Minimal, Complete, and Verifiable example](https://stackoverflow.com/help/mcve). David is being too/very kind. – Mr. Hugo Jun 28 '18 at 23:30

1 Answers1

3

Without code to debug I can only guess that you have a problem with this custom tag :

{% pic '{{ page.image }}' %}

If page.image is null, pic tag is looking for '' wich doesn't exists.

David Jacquel
  • 51,670
  • 6
  • 121
  • 147
  • Thanks for getting back, the error (mentioned in the question above) still appears even when I disable the `{% include why-use-s.html %}`, which to my knowledge is the only code that consumes the `animVideo` files, which I found quite strange. – Kayote Jun 27 '18 at 09:14
  • It appears that just the import of video files 'animVideo' into the header of `index.html` creates the error, even when the `{% why-use-s.html %}`, which consumes the videos is commented out. – Kayote Jun 27 '18 at 09:36
  • Do you have a repository url ? – David Jacquel Jun 27 '18 at 11:57
  • Thank you David for putting so much time & effort into this question. The repo is private to my work-place so I am not in a position to share. One thing is clear that the `animVideo` is the cause. – Kayote Jun 27 '18 at 12:01
  • In the end, it was an issue with yml formatting in the header (meta data) of index.html file. I just removed the `animVideo` & it started working. Thank you for the help. – Kayote Jun 28 '18 at 09:12