Book Club Weekly Thread Forum Post Generator(TM)

Because I’m the host of the next Intermediate Book Club book, I spent an evening writing a Book Club Weekly Thread Forum Post Generator™. If you are interested, you can find it on GitHub.

It is a two-phase generator:

Book Breakdown → Configuration → Weekly Topics

The configuration is pre-filled from the book club’s weekly breakdown. More information needs
to be added manually to get a good result.

Of course the number of users for this is quite limited; still I would be interested in getting feedback if you feel like trying it out. I’m especially curious to hear whether it works on Windows and Linux as well (I’ve only tested it on a Mac so far).

7 Likes

@Radish8 I was wondering whether you’d like to be a beta tester for the threads for Flying Witch? That would be quite interesting because book and manga might have different needs I’m not yet aware of.

(I already discovered some differences between the breakdowns of Flying Witch and Kitchen, and the generator can now handle them, but I’m sure there is more…)

2 Likes

This sounds like exactly the type of thing I considered planning on thinking about making one day if I nominated something that were to win and I’d be the one doing the threads.

I had to update or install the following packages on my Arch Linux system:

  • nodejs
  • gcc-libs (For “GLIBCXX_3.4.26 not found” error.)
  • libuv (For “uv_os_free_environ” error.)
  • libnghttp2 (For “nghttp2_option_set_max_outbound_ack” error.)

After that, it works perfectly. I made a copy of the “kitchen.md” file, was able to generate the “.json” file from it, and then from that to generate the weekly “.md” files.

1 Like

I made a rough generator back in the days I was taking care of Kino’s journey, but found out most of the time I spend is on adding the links to the previous and next threads (and to the home thread), so the generator didn’t help much.

If yours can interact with the forum directly and post/update in your place, though, that’s huge. (I haven’t checked the repo, so I don’t know what it does yet :stuck_out_tongue:)

Unfortunately it cannot directly interact with the forums (maybe that’s something for some version in the future?). But you only need to add the links to each week’s forum thread once (actually you only need to give it the last bit of the URL because it will generate robust links, but it can handle full URLs as well), and then it will fill in the correct links for the previous and next weeks in all relevant weeks. The only thing that’s then left as a manual task is to copy the updated thread texts to the forum. I hope that it somewhat reduces the load of filling the correct URLs into the correct places.

EDIT: Oh, and I did not think of the threads list in the home thread yet! I will put this on the list of next things to do.

EDIT2: Oh, and of course Discourse has an API… Looks like I know what I will do over the weekend or so :stuck_out_tongue_winking_eye:

2 Likes

Oh wow, thank you very much for checking this out! The installation of nodejs was of course what I had expected, but I’m somewhat surprised by the other packages. Probably that’s because you built nodejs from source?

I installed the nodejs package provided by Arch (rather than from source), but I haven’t done a full OS update of installed packages in probably over six months, so it was just a case of outdated packages for gcc-libs and lubuv. (And I didn’t have libnghttp2 installed.)

1 Like

Just popping in to say I understood more of the first week of キッチン than I understood of this post/thread. :laughing:

14 Likes

Oh my! I can certainly try :grin:

When you say ‘WaniKani forum breakdown’… do you literally mean just the table of info about the schedule etc., or is that something more technical and exciting?

I’ll be intrigued to see whether this actually speeds up the process :stuck_out_tongue: I do like to get all of the information ready at the beginning anyway though, so this should fit pretty well with my existing approach.

Unfortunately it’s just the boring table with the weeks and pages and stuff. If you look into the repository, there is an example file with the table from Kitchen. Just the same table is what is needed. (The columns are different but I‘ve adapted the generator so it can handle that.)

I don’t know how technically knowledgeable you are so feel free to ask anything that‘s unclear! I‘d like this to be usable for non-technical people as well, and I think it’s not quite there yet… So thanks for your patience :wink:

1 Like

So when we find 500 posts for キッチン week two we’ll know something went horribly wrong. :stuck_out_tongue:

6 Likes

No no, that’s fine :joy: I just wanted to be clear I wasn’t missing anything fancy.

I’m mildly technically knowledgeable? But only in the sense that I learnt a small amount of, like, Matlab and things at uni many moons ago, and now work with HTML and CSS. But I haven’t ventured into the terrifying world of javascript :wink: I basically have zero knowledge of how the internet works and things talk to each other and so on.

It looks fairly straightforward though :slightly_smiling_face:

Maybe I understood it wrong, but I don’t think it’s really intended for public use. To get your API-key they (the devs) want you to ask an admin for it. You could dig it out yourself, but they really don’t like it when you do that.

2 Likes

That would indeed be my greatest fear! To nuke the forums or something. :ghost:

@Kumirei Hmm… I had not really thought about authentication yet :laughing: I only tried a few GET requests to learn more about the forum structure, and these ofc don’t need authentication.
I think then this approach is not worth following-up to because ideally all book club hosts should be able to use this, and if the devs/admins don’t really like it, then that doesn’t work out (but it is in a way understandable).

@Radish8 Oh, that’s already plenty of technical knowledge! That should be a very good basis.
I was just suddenly thinking, what if somebody wants to use this and does not know what a commandline is… I’d need to improve the documentation in that case…

1 Like

(Not that I’m asking or one as I wouldn’t need it, but) any considerations for potential a GUI once the CUI is fine-tuned? I realize that’s a bit harder to get cross-platform, and the number of people running book clubs here who would potentially use something like this is fairly low, thus it may not be worth the time to implement one.

Hah, crazy idea :slight_smile: But let’s think this through for a bit. What would be the options for a GUI?

  1. A native application. That supports Mac, Windows, Linux etc. pp. Thanks but no thanks :slight_smile:
  2. The node app could be turned into a webserver so everybody could self-host this. Would probably make the handling itself a little bit easier, but on the other hand people would need to run npm install to install some packages which I’ve successfully managed to avoid so far. (So people would still need to be able to run stuff from the cmdline.)
  3. A hosted solution. That would of course make the handling much easier for everybody because it only requires opening a website. But I don’t know how much of a hassle it would be to handle the config files and the generated files and so on through a web interface… That would require some decent planning. (OTOH, maybe that would allow for automatically editing the forum because it’s only one user, then? And not many? Hmmm…)

And then, the number of users. I think 3 - 5 users would already be great :sunglasses: So right now I don’t really see a point to move in that direction. What do you think?

I mostly mention a GUI as a way to handle “does not know what a commandline is”, and I do think the idea of a web-hosted solution (alongside command-line for those who can use it or are willing to learn) would be the way to go.

But chances are it’d never even be needed, what with the small audience. Definitely focus on what you have now.

1 Like

When you run the generator, it will now also produce a home thread file with as much stuff pre-generated as possible (especially the weeks list and the next reading session). But if there is special information needed, then the template should be adapted for the book at hand (just copy the home_template.md file and put the new file name in the config file).

Hi NicoleRauch, sorry I’ve totally failed to try this out up till now! At the point I had to get the first threads up for the latest picks I just didn’t have time.

I’m just about to attempt actually using it, so apologies in advance if I return in a few minutes looking like

confusion%20gif

Okay, question one: when installing node.js, do I need to install ‘the necessary tools to install some npm modules’? It says this will also install Chocolatey, which sounds ominous :eyes:

No worries! I already figured that you did not find the time to try it out yet (because the format of your pages is different in some points from the default template that is included :eyes:)

But I’m happy that you’d like to give it a try! For your question: I have no real idea what these tools might be, but to run this beast you don’t need npm. So my suggestion would be to NOT install them and to see how things go. I guess you can always rerun the installation if it turns out to be the wrong decision (but I would be curious to learn more in that case!)

Although I personally think that Chocolatey sounds quite nice :chocolate_bar: but I have never heard of it…