Doomed Scholar Studios Lua based Tooling for publication systems.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Frank Earl 51cd15f283 Minor mods
- Added to README.md.  Need to document myself so if I have to hand
  off or someone takes over because I got nailed by the proverbial
  beer truck, it can be coped with properly.
- Deprecated the n8n-webhook call.  We're not going to use it-
  there's an async push problem with it.
2026-05-18 17:41:08 -05:00
src Minor mods 2026-05-18 17:41:08 -05:00
README.md Minor mods 2026-05-18 17:41:08 -05:00

LUA Based Publication Tools for Doomed Scholar Studios

This is a set of tools, largely in Lua, that enables easy to drive almost totally automated publication of content to multiple comic series, leveraged by Doomed Scholar Studios in their publishing system for the Web side of things. It allows you to define a drop-box in NextCloud that allows you to have multiple users upload content for approval/rejection, allows you to have a Talk discussion over the content to hash out Rejections. Upon approval, it automatically reaches out to DSS' WordPress site and obtaines the Toocheke theme's series based off of the directory name (Drop directories need to match the series slug on the WP site.), the absolute scheduled or published tip of that series and sets a publication cadence, defined in the config file, for the series in question in terms of days into the future. Once the publication date exceeds current, it sets them to be scheduled posts instead. This can handle MULTIPLE comics at any one time, allowing the management to publish at their own pace, etc. Publication is in the order specified by approval order. So, if you approve out of order, it will BE out of order. Content for a comic can be of any format, so long as it has a Page Number at the end of the filename before the extension. For example, "FS1 - 53.jpg" will be handled and it'll be treated as Page 53 of the comic. It will not insert it at page 53 as an update, though. If you're past page 53 in the example, it will just simply post a new page 53 out of order on you.

These scripts are intended to be ran on the server that the NextCloud instance is running on, but can live almost anywhere so long as the server in question exists where it can access, by networking, the URLs set up in the configuration file. It, generally, is not needed to be on it's own server, but may be ran against a Docker/Podman/LXC container on another machine so you can partition out multiple end domains (e.g. a DSS customer wants their own domain and website...) wherein the cloud server is the SAME one for all of them and you have differing end-destinations on differing WP sites.

Installation Directions

First, grab either a tarball (dss_lua_tools-< branch >.tar.gz) or clone out the contents via this git repository.

  • Make sure you have bash, ssh, and scp available on the machine that you're installing on/with. Make sure you can ssh into the machine it's being installed on as root.
  • (If using a tarball...) Unpack the tarball somwhere you have control over on a machine that has ssh, scp, and bash available for it (Usually a Linux install somewhere, but can be anything that offers those three things.)
  • Run the following command 'push_to_server < IP address/DNS name >' where that option is the IPv4 address or dns name (e.g "dss-ent.com" though don't use that- it's our customer facing DNS...this would be a backend server's DNS or IP...)

This will decant it onto the destination server. If you're installing it on the same server as the NextCloud and you're ON the same, use 127.0.0.1 (You're installing it on yourself and you don't want to do this by hand unless you know what you're doing.) for the IP address.