DocPad
Cmds Plugin forConvention: .bash
Convention: .sh
Convention: .ps1
or .cmd
(windows only)
The above can be rendered to any extension i.e. (.html.sh) or just run as a single extension process like a script.
.bash and .sh files are supported on windows if you have gnu\bash\sh\cygwyn tools installed and in the environment path.
Scripts can determined when to run, i.e. writeAfter or generateBefore etc...
Example usage
echo 123echo 456
echo "<script>"echo "document.write("curl http://www.servicestack.net/ServiceStack.Northwind/customers?format=jsonecho ".Customers.length);"echo "</script>"
Windows cmd multiple lines
echo 123 & echo 456
Front matter options
Name | Desc |
---|---|
true or false. Specifies if you want to print output to the console | |
when |
used when wanting to run the script during a specific docpad event (only works for scripts placed in the shell collection folder)
|
Install
npm install --save docpad-plugin-cmds
Config
cmds:
# shell collection folder (can be an array of folder names)
shellPath: "shell"
# default collection name
collectionName: "shell"
# powershell path for windows (will also work in bash on windows)
psPath: 'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell' # default
Ordered Scripts
When using the "when" meta scripts are sorted by relativePath. This allows us to execute scripts in a specific order.
example:
# example script order with relative paths
task1.bash
task2.bash
task1\step1.bash
task1\step2.bash
task1\step3.bash
task2\step1.bash
task2\step2.bash
task2\step3.bash
Env
Document attributes are added to the env (in full caps with an underscore seperator)
# bash $DOCUMENT_TITLE, $DOCUMENT_FILENAME, etc..$DOCPAD_CONFIG_ROOTPATH, $DOCPAD_CONFIG_OUTPATH, etc..
# ps1$env:DOCUMENT_TITLE, $env:DOCUMENT_FILENAME, etc..$env:DOCPAD_CONFIG_ROOTPATH, $env:DOCPAD_CONFIG_OUTPATH, etc..
powershell c# example
$source = @"public class BasicTest{ public static int Add(int a, int b) { return (a + b); } public int Multiply(int a, int b) { return (a * b); }}"@ # load the sourceAdd-Type -TypeDefinition $source # static ref[BasicTest]::Add(4, 3) # instance ref$basicTestObject = New-Object BasicTest $basicTestObject.Multiply(5, 2)
History
You can discover the history inside the History.md
file
Contributing
You can discover the contributing instructions inside the Contributing.md
file
License
Licensed under the incredibly permissive MIT License
Copyright © 2013+ Stringz Solutions Ltd
Copyright © 2013+ Peter Flannery