Your comments
Database script?
I'm not in charge of that unless you're talking about my theme or theme editor. The theme editor doesn't 'scan' anything. It just looks for the themescript.js in the location you provide so you can edit it safely. After you save the information and hit exit, the program stops in the background.
Ahhh, the joys of sharring! I see the problem.
I did not trap for multiple comic/book/magazine/document file bases. I keep all mine under 1 folder so...
I'll take a look and see what I can come up with to address that issue.
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! ;)
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
Customer support service by UserEcho
Hey Dennis,
I created a new thread bc this one should be used for Ubooquity 3.1 to avoid confusion. :)
I'm going to reply to you there.
Thanks,
G