xuv's notebook

Side notes, howtos and random bits of information related to Julien Deswaef's activities

User Tools

Site Tools


tools:cooklang

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tools:cooklang [2026/08/23 00:17] – created Julien Deswaeftools:cooklang [2026/08/27 10:44] (current) – Julien Deswaef
Line 1: Line 1:
-====== Cooklang ======+# Cooklang 
  
-I’ve started writing some [[recipes:]] with Cooklang. And so I thought about adding the Dokuwiki plugin for it to this notebook. But I’ve been struggling to get it to work.+## Dokuwuki plugin
  
-So far, it’s working because I’m ignoring the exit process of cookcli when it’s ran from PHP. But that’s not ideal. My thoughts at this point is that OVH does something strange with processes. It seems `proc_close` is not catching the right exit code. And thus the official pluging for Cooklang can’t figure out if the process exited correctly and does not display the results. I’ve verified that cookcli is actually exiting as expected.+I’ve started writing some [[recipes:]] with [Cooklang](https://cooklang.org). And so I thought about adding the [Dokuwiki Cooklang plugin](https://github.com/afranchuk/dokuwiki-plugin-cooklang) to this notebook. ~~But I’ve been struggling to get it to work.~~
  
-===== TODO =====+ - I needed to figure out how to install `cook`, the commandline software that parses cooklang recipes. I figured out that OVH might permit me to put this in the `cgi-bin` subfolder on my shared hosting. 
 + - After that, I had to figure out how to configure the Dokuwiki to actually find it. It’s all about finding the right path. 
 + - But even after that the plugin would still return an error and never display properly a recipe. 
 + - Turns out at OVH compiles its PHP with `--enable-sigchild` which makes `proc_close`, a function that the plugin calls to close the connection with `cook` always return undefined or an error. So the plugin never moves to displaying the recipe. 
 + - After chatting with Gemini for a while to debug this PHP issue and look for alternative. Gemini suggested to create a third output pipeline just to catch the return of the command. That seemed to have done the trick. The forked and working code is here https://github.com/xuv/dokuwiki-plugin-cooklang/tree/fix_only_errors Maybe the original author will accept the pull request. 
 + 
 +### Limitations 
 +The plugin will only work with simple recipes. It does not work with meta-data, titles for sections,  
 +notes or recipe reference 
 + 
 +### Updating cookcli 
 +To update the cookcli on this server, find [the release](https://github.com/cooklang/cookcli/releases/t) that’s named: `cook-x86_64-unknown-linux-musl.tar.gz`, unpack it and move it to `cgi-bin` folder 
 + 
 +### TODO 
 + - Cooklang Dokuwiki plugin needs to be updated to render the latest version of the specification. Until then, it’s probably only partially usable and with quite simple recipes.
  
-  * Verify how if php has been compiled with `--enable-sigchild` or not. 
tools/cooklang.1787437020.txt.gz · Last modified: by Julien Deswaef