Your comments
I can confirm this. Epubs will not close in any browser.
Was looking through my logs today and I found this:
0822 23:56:45 [qtp1943408246-64] ERROR com.ubooquity.d.b - Request not handled (should never happen, this is a bug !): /ubooquity/theme/common/latestcomics.png
20250822 23:56:45 [qtp1943408246-67] WARN o.e.jetty.io.AbstractConnection - Failed callback
java.io.IOException: Close SendCallback@f79f443[PENDING][i=null,cb=null] in state PENDING
at org.eclipse.jetty.util.IteratingCallback.close(IteratingCallback.java:458)
at org.eclipse.jetty.server.HttpConnection.onClose(HttpConnection.java:551)
at org.eclipse.jetty.io.SelectorManager.connectionClosed(SelectorManager.java:330)
at org.eclipse.jetty.io.ManagedSelector$DestroyEndPoint.run(ManagedSelector.java:1113)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
at java.base/java.lang.Thread.run(Unknown Source)
The file is there and displays correctly in my theme. <shrugs>
No. You answered my question. :)
Mustache has a "content delivery network" (CDN) that, basically, allowed me to use mustache.render("template id") to create my own mustache tags as well as port some of Ubooquity's mustache variables.
Like this:
This is my breadcrumb rendering:
function renderBreadcrumbs() {
const breadcrumbs = JSON.parse(sessionStorage.getItem('breadcrumbs')) || [];
const breadcrumbNav = document.querySelector('.breadcrumb');
if (!breadcrumbNav) { console.error("Breadcrumb navigation container not found.");
return;
}
breadcrumbNav.innerHTML = '';
const template = document.getElementById('breadcrumb-template').innerHTML;
breadcrumbNav.innerHTML = breadcrumbs.map(breadcrumb => { return Mustache.render(template, { breadcrumbUrl: breadcrumb.url, breadcrumbTitle: formatAuthorName(breadcrumb.title) }); }).join('');
}
This where I loaded the mustache CDN so that the above mustache.render() works:
function loadMustache(callback) {
if (typeof Mustache === 'undefined') {
const script = document.createElement("script");
script.src = "https://cdn.jsdelivr.net/npm/mustache@4.2.0/mustache.min.js";
script.onload = callback;
script.onerror = () => console.error("Failed to load Mustache.js.");
document.head.appendChild(script);
} else {
callback(); }
}
What I was wondering is, if Ubooquity contained a JMustache CDN so theme creators could easily create their own mustache variables or pass Ubooquity's mustache variables where they aren't normally available (like I did with the RAW files section to create an audio book section)? In other words, I wanted to know if I could actually use mustache.compile() and mustache.render() in my themescript as well as the predefined variables? And I beleive the answer was "no".
If I am correct and the answer is "no". Would you consider looking into adding a mustache CDN internally to Ubooquity in the future or do you think it would cause more headaches than it's worth?
Another question: I've been trying to get a reverse proxy to work with Ubooquity. However, it seems that no matter what I do with the NAS reverse proxy service or Nginx, itself. Weirdly, it can't find tools.js, themescript.js, or sha-256.min (which is preventing java from executing).
Course, this could just be that I'm missing something obvious... Any help anyone?
Mustache.compiler().compile("{{this}}").execute("hello"); // returns: hello
Mustache.compiler().compile("{{#names}}{{this}}{{/names}}").execute(new Object() {
List<String> names () { return Arrays.asList("Tom", "Dick", "Harry"); }
});
I actually used a mustache CDN to just render my theme's audio book section - as none of the new variable tags are available in the RAW files section of Ubooquity. But I got {{itemFolderUrl}}, {{itemCoverUrl}}, {{itemTitle}}, & {{itemTitle}} to interpret along with 2 I created {{breadcrumbUrl}} & {{breadcrumbTitle}} for navigation purposes.
However, I would be interested in knowing if Ubooquity includes an internal mustache or Jmustache CDN type package that will compile and render tags or were you just referring to using the "this", "-first", "-last", and "-index" variables with Ubooquity's mustache variables?
TIA!
G
Okay. That link did not work. Let's try this one:
Ubooquity v3.1 ASUSTOR NAS.zip
Yep. That's what I meant. I was asking to create a thread to troubleshoot and update the theme as Ubooquity updates.
Since I'm semi-retired and I had time last night, I made an outline for documentation already. Went quicker than I thought. So, I should have this setup by the end of the week.
Okay.
I call it the "Renegade Reader" theme (as Renegade was the name of the BBS software I helped develop back in the day). And I will be re-writing it to make it more legible so other theme developers can see how I did what I did and (hopefully) it will help others develop nice Ubooquity themes. But for now, what I have should suffice.
Documentation? What's that? You mean the comments throughout my code? LOL!
Seriously though, like I said, I wasn't planning on releasing it publicly. So, no, I haven't made any documentation for it - yet. Gimme a couple of weeks to write something legible and I'll send the whole theme with documentation for to you to host.
Also, if it's not too much trouble, would you mind if I used a group in your forum here. It would help immensely with troubleshooting bug reports and to distribute updates to the theme as Ubooquity changes.
Greetings again,
I wrote a decent theme that has many of the same bells and whistles as the Comixology 2 theme - such as sliding frames with the newest content in each category on the home page, a way to create JSON files that Ubooquity will read to create story arcs/book/magazine series', 2 working color schemes, extremely configurable headers, audiobook support (including a way to bookmark progress in case your page get reloaded), etc..
I finished it a few months ago and decided to keep it to myself because if there's one thing writing free BBS software in the late 80s taught me, it's that "code that works perfectly for me does not always work perfectly for everyone else". And that comes with its own set of headaches (I'm sure you know what I mean).
However, I DO use Ubooquity a lot and I DO appreciate the fact that it's free to use. So, if you're interested and you think it would help, I would be willing to upload my theme for your consideration and I would be willing to update and support it here (in a different forum of course).
Customer support service by UserEcho
Just for you Dennis (since you asked so nicely).
Renegade Reader v1.04
The docs are included along with a nifty little themescript editor for Linux that I'll port to Windows when I get the chance.
Have fun and let me know what you think! ;)