champsproject/chem_react_dyn

Broken links for some sections

Closed this issue · 5 comments

On the current book's page -built from develop branch-when clicking on some sections of the Book a broken link message appears for

  • /act1/Morse/Morse.html
  • /act2/barbanis2D/barbanis2d.html
  • /act2/1-Ches/roam.html
  • /act2/3-Ches/roamiso.html

Screenshot 2019-12-12 at 11 58 04

However, when building the site locally (i.e., in my computer), these work fine.

Need to find out what's wrong with these files, the toc, or maybe something else?

NOTE When clicking on these chapters, the URL oddly changes to something like
https://jupyterbook.org/act2/3-Ches/roamiso.html

Similarly, if I click on the interact button when on the 'Index of a saddle point page' on the currently deployed version at http://youthful-bell-134f82.netlify.com/prologue/index_of_a_saddle_point.html, it tries to launch a notebook that isn't found at ....tree/content/prologue/index_of_a_saddle_point.ipynb.

Same for ...tree/content/act2/four_well_morse/booksprinttest_makrina.ipynb launched from http://youthful-bell-134f82.netlify.com/act2/four_well_morse/booksprinttest_makrina.html .

I didn't try hitting Interact when on any others.

Similarly, if I click on the interact button when on the 'Index of a saddle point page' on the currently deployed version at http://youthful-bell-134f82.netlify.com/prologue/index_of_a_saddle_point.html, it tries to launch a notebook that isn't found at ....tree/content/prologue/index_of_a_saddle_point.ipynb.

Same for ...tree/content/act2/four_well_morse/booksprinttest_makrina.ipynb launched from http://youthful-bell-134f82.netlify.com/act2/four_well_morse/booksprinttest_makrina.html .

I didn't try hitting Interact when on any others.

Thanks for pointing it out @fomightez
We will look into it.

As far as those interact buttons that end in 404: Not Found, after looking more into it, I think in your config.yml file you should have use_binder_button : false because you don't have any code to run?

All links working now.

SOLUTION: Renamed all directories to lower-case.

Explanation:

First, all files/folders built for site display (in _site) get named by jekyll with lower-case versions of their original input files/folders in content. This seems intentional, to comply with URL standards, which are case-sensitive. And most webservers respect that - including GitHub Pages, as I found out from here.

Then, these pathnames for files in _site will be used for URL links. BUT, since the jekyll-redirect-from plugin is enabled - which generates automatically a redirects.json file in the _site folder, this will redirect correct lower-case URLs to URLs with pathnames corresponding to files/folders in content, which may be non-lower-case. So the final link will break since non-lower-case files/folder don't exist in _site.

This is fine if the site is published locally though - in a personal computer. Also, It's odd that for some URLs containing a few capitals links don't break. Provisionally, having all lower-case file and folder names resolves the issue.

NOTE: folder and file names will lead to building errors too since YAML is a white-space indented language. More info on canonical YAML syntax here

Similarly, if I click on the interact button when on the 'Index of a saddle point page' on the currently deployed version at http://youthful-bell-134f82.netlify.com/prologue/index_of_a_saddle_point.html, it tries to launch a notebook that isn't found at ....tree/content/prologue/index_of_a_saddle_point.ipynb.
Same for ...tree/content/act2/four_well_morse/booksprinttest_makrina.ipynb launched from http://youthful-bell-134f82.netlify.com/act2/four_well_morse/booksprinttest_makrina.html .
I didn't try hitting Interact when on any others.

Thanks for pointing it out @fomightez
We will look into it.

The solution is described here #49
Now Binder is working.