From: davidm@... Date: 2016-04-11T06:52:58+00:00 Subject: [ruby-core:74878] [Ruby trunk Bug#11924] $ gem server is broken for documentation browsing Issue #11924 has been updated by David MacMahon. File 0001-Fix-11924.patch added This is still happening for me with `ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]`. It seems to be caused by inconsistencies between URLs generated by darkfish and the RDoc::Servlet's expectations of which URLs are handled by darkfish. I have cobbled together a small patch (see attached file). It makes RDoc::Servlet aware of some URLs that darkfish generates (and can handle) and it fixes some relative URLs in darkfish's fonts.css file. I'm not sure this is the best way to fix things. It might be better to keep RDoc::Servlet unchanged and instead change the darkfish generator to output URLs that RDoc::Servlet already knows are handled by darkfish, but I don't think so. darkfish references fonts.css and RDoc::Sservlet didn't know darkfish can handle requests for that asset so I think RDoc::Servlet really should be changed. ---------------------------------------- Bug #11924: $ gem server is broken for documentation browsing https://bugs.ruby-lang.org/issues/11924#change-58007 * Author: Marvin G��lker * Status: Third Party's Issue * Priority: Normal * Assignee: * ruby -v: ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- The `$ gem server` command is broken. The gemserver doesn���t find the stylesheets and javascripts, so that the browser only shows the unstyled, bare HTML. Sample commandline session: ~~~~ % gem list ffi *** LOCAL GEMS *** ffi (1.9.10) % gem rdoc --overwrite ffi Parsing documentation for ffi-1.9.10 Installing ri documentation for ffi-1.9.10 % gem which ffi /home/quintus/.gem/ruby/2.2.0/gems/ffi-1.9.10/lib/ffi.rb % gem server Server started at http://0.0.0.0:8808 Server started at http://[::]:8808 localhost.localdomain - - [29/Dec/2015:13:12:46 CET] "GET /doc_root/ffi-1.9.10/ HTTP/1.1" 200 14339 - -> /doc_root/ffi-1.9.10/ localhost.localdomain - - [29/Dec/2015:13:12:47 CET] "GET /doc_root/css/rdoc.css HTTP/1.1" 404 2048 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/css/rdoc.css localhost.localdomain - - [29/Dec/2015:13:12:47 CET] "GET /doc_root/css/fonts.css HTTP/1.1" 404 2048 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/css/fonts.css localhost.localdomain - - [29/Dec/2015:13:12:47 CET] "GET /doc_root/ffi-1.9.10/js/navigation.js HTTP/1.1" 404 14114 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/navigation.js localhost.localdomain - - [29/Dec/2015:13:12:47 CET] "GET /doc_root/ffi-1.9.10/js/search.js HTTP/1.1" 404 14110 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/search.js localhost.localdomain - - [29/Dec/2015:13:12:47 CET] "GET /doc_root/ffi-1.9.10/js/searcher.js HTTP/1.1" 404 14112 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/searcher.js localhost.localdomain - - [29/Dec/2015:13:12:47 CET] "GET /doc_root/ffi-1.9.10/js/search_index.js HTTP/1.1" 200 60522 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/search_index.js localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/ffi-1.9.10/ HTTP/1.1" 200 14339 - -> /doc_root/ffi-1.9.10/ localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/js/jquery.js HTTP/1.1" 200 91669 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/js/jquery.js localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/js/darkfish.js HTTP/1.1" 200 4666 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/js/darkfish.js localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/css/fonts.css HTTP/1.1" 404 2048 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/css/fonts.css localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/css/rdoc.css HTTP/1.1" 404 2048 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/css/rdoc.css localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/css/fonts.css HTTP/1.1" 404 2048 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/css/fonts.css localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/css/rdoc.css HTTP/1.1" 404 2048 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/css/rdoc.css localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/ffi-1.9.10/js/navigation.js HTTP/1.1" 404 14114 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/navigation.js localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/ffi-1.9.10/js/search_index.js HTTP/1.1" 200 60522 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/search_index.js localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/ffi-1.9.10/js/search.js HTTP/1.1" 404 14110 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/search.js localhost.localdomain - - [29/Dec/2015:13:13:00 CET] "GET /doc_root/ffi-1.9.10/js/searcher.js HTTP/1.1" 404 14112 http://localhost:8808/doc_root/ffi-1.9.10/ -> /doc_root/ffi-1.9.10/js/searcher.js ~~~~ Output of `$ gem -v`: `2.4.5.1` Notice the 404 errors when the web page is accessed. Expected behaviour is to correctly serve the CSS and JS files at the path where the documentation references them. Greetings Marvin ---Files-------------------------------- 0001-Fix-11924.patch (2.98 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: