Everything tested (without error) on Wary 5 (frugal with pfix=ram), but I believe it should work on any recent Puppy (especially now that I've fixed the header line from #!/bin/sh to #!/bin/bash ...:-), and probably many earlier ones (for example, also tested on Puppy 2.17). Should be a trivial matter to port it to many other Linux distributions too (that's what I'm aiming towards).
Recent Changes:
Pcreole 2.0.3: Changed script header line to specifically use #!/bin/bash (rather than #!/bin/sh). Sorry, I should have done that before... (/bin/sh is a symbolic link to /bin/bash on Puppy Wary 5). Also I removed an errant "break" from inside one case statement that, for some reason or other, didn't cause any problem with Puppy Wary 5.0. Hopefully Pcreole should work on more Linux systems now. Thanks L18L. Let me know if that solves the problems you were having.
[Note: Though nothing at all to do with Pcreole, this discussion makes me think about Precord which also refers to /bin/sh but may need /bin/bash to work on other systems (Lupu?)].
----
Otherwise I changed almost nothing in Pcreole itself. No other change at all for anyone just using it to run arbitrary commandlines.
However, for those using it for its ability to process creole markup into html, I made major changes to the postprocess script called "nmecss". That is the script which is run when a user presses the button labelled "+" in Pcreole.
I also recompiled nme to compile in the option to allow "raw" code to be inserted in creole marked-up documents. With the help of that, nmecss now includes some macro's to allow a user to postprocess the nme-created html. Brief explanation is provided in Pcreole's help text, relevant extract of which is below. If I have time later, I'll try and expand on that with some examples, but for now I leave the user to simply experiment:
Extract from Pcreole 2.0.2 help text:
Major change to Pcreole 2.0.2 nmecss script (nmecss is what runs when you press Pcreole css "+" button):
Added the following postnme html processing macros which you can use if required (i.e. optional):
<<raw @@new:... >>; <<raw @@title:... >>; and <<raw @@csspath:... >>
You can (optionally) embed these in your source creole markup for later processing by the postprocessor script "nmecss".
Note that for these macros to work you also need to install nme-10.03.31r.pet which now includes the compiled-in functionality to embed "raw" code into your creole mark-up using the construct:
<<raw code_you_don't_want_nme_to_process >>
For example, you can insert a raw piece of html code into your creole markup such as the following:
<<raw
<div id="content">
>>
The available "nmecss" macros are as follows:
1. <<raw @@title:Web Page Html Title >>
@@title: allows changing the html <title>string</title> from Pcreole default "dummytitle".
Insert it once only near top of creole markup text file if you need it.
You must include a blank line in the <<raw @@title: >> stanza as shown in example below.
Usage example:
<<raw
@@title:Home Page
>>
2. <<raw @@csspath:path_to_your_css_stylesheet >>
@@csspath: allows changing the <link> href= string from Pcreole default "~/pcnotes.css".
Insert it once only near top of creole markup text file if you need it.
You must include a blank line in the <<raw @@csspath: >> stanza as shown below.
Usage example:
<<raw
@@csspath:css/mystyle.css
>>
3. <<raw @@new:new_line_of_html >>
The @@new macro allows changing specific (immediately below) lines of html.
i.e. The @@new: macro is used to "replace" existing html.
For example:
<<raw
@@new:<ul id="navlist">
>>
will replace an immediately underneath default nme creole generated html list <ul> line, adding an id= attribute for css purposes. Note well that no blank line should be included in the <<raw construct for this example, or it won't work.
Sometimes, however, you must include a blank line in the <<raw @@new: >> stanza to successfully "replace" the immediately below it creole text (depends on the html construct involved). For example, if you wanted to "replace" am immediately following simple line of text surrounded by html <p> markers you need the added blank line shown:
<<raw
@@new:<p>some new line of text</p>
>>