marked-conductor 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +41 -5
- data/html/Filter.html +262 -0
- data/html/String.html +428 -26
- data/html/created.rid +4 -4
- data/html/js/search_index.js +1 -1
- data/html/js/search_index.js.gz +0 -0
- data/html/table_of_contents.html +79 -19
- data/lib/conductor/filter.rb +165 -3
- data/lib/conductor/string.rb +31 -0
- data/lib/conductor/version.rb +1 -1
- data/src/_README.md +41 -5
- data/test.md +14 -0
- data/test.sh +4 -7
- metadata +4 -2
data/html/created.rid
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Sat, 25 May 2024 11:14:11 -0500
|
2
2
|
README.rdoc Sun, 28 Apr 2024 13:21:34 -0500
|
3
3
|
lib/conductor.rb Fri, 24 May 2024 12:23:17 -0500
|
4
4
|
lib/conductor/array.rb Sat, 27 Apr 2024 11:54:28 -0500
|
@@ -7,9 +7,9 @@ lib/conductor/command.rb Sat, 27 Apr 2024 11:54:28 -0500
|
|
7
7
|
lib/conductor/condition.rb Mon, 29 Apr 2024 09:19:15 -0500
|
8
8
|
lib/conductor/config.rb Sat, 27 Apr 2024 11:54:28 -0500
|
9
9
|
lib/conductor/env.rb Mon, 29 Apr 2024 09:28:21 -0500
|
10
|
-
lib/conductor/filter.rb
|
10
|
+
lib/conductor/filter.rb Sat, 25 May 2024 11:13:46 -0500
|
11
11
|
lib/conductor/hash.rb Sat, 27 Apr 2024 11:54:28 -0500
|
12
12
|
lib/conductor/script.rb Sun, 28 Apr 2024 16:21:49 -0500
|
13
|
-
lib/conductor/string.rb
|
14
|
-
lib/conductor/version.rb
|
13
|
+
lib/conductor/string.rb Sat, 25 May 2024 10:58:38 -0500
|
14
|
+
lib/conductor/version.rb Sat, 25 May 2024 06:41:33 -0500
|
15
15
|
bin/conductor Fri, 24 May 2024 12:39:06 -0500
|
data/html/js/search_index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var search_data = {"index":{"searchIndex":["array","conductor","command","condition","config","env","script","falseclass","filter","hash","object","string","trueclass","add_comment()","add_mmd()","add_yaml()","args=()","args=()","bool?()","bool?()","bool?()","bool_to_symbol()","clean_condition()","conduct()","create_config()","date?()","delete_meta()","delete_mmd()","delete_yaml()","env()","execute_track()","has_comment?()","load_test_env()","meta?()","meta_insert_point()","meta_type()","new()","new()","new()","new()","new()","normalize_filter()","number?()","operator_to_symbol()","parse_condition()","path=()","path=()","process()","replace()","replace_all()","run()","run()","sample_config()","set_meta()","split_booleans()","split_condition()","stdin()","strip_meta()","strip_time()","symbolize_keys()","symbolize_keys()","symbolize_keys!()","symbolize_keys!()","test_condition()","test_meta()","test_operator()","test_pandoc()","test_string()","test_tree()","test_truthy()","test_type()","test_yaml()","time?()","to_bool()","to_bool!()","to_date()","to_day()","to_pattern()","to_rx()","to_s()","true?()","yaml?()","readme"],"longSearchIndex":["array","conductor","conductor::command","conductor::condition","conductor::config","conductor::env","conductor::script","falseclass","filter","hash","object","string","trueclass","string#add_comment()","string#add_mmd()","string#add_yaml()","conductor::command#args=()","conductor::script#args=()","falseclass#bool?()","string#bool?()","trueclass#bool?()","string#bool_to_symbol()","object#clean_condition()","conductor::conduct()","conductor#create_config()","string#date?()","string#delete_meta()","string#delete_mmd()","string#delete_yaml()","conductor::env::env()","conductor::execute_track()","string#has_comment?()","conductor::env::load_test_env()","string#meta?()","string#meta_insert_point()","string#meta_type()","conductor::command::new()","conductor::condition::new()","conductor::config::new()","conductor::script::new()","filter::new()","string#normalize_filter()","string#number?()","conductor::condition#operator_to_symbol()","conductor::condition#parse_condition()","conductor::command#path=()","conductor::script#path=()","filter#process()","string#replace()","string#replace_all()","conductor::command#run()","conductor::script#run()","conductor#sample_config()","string#set_meta()","conductor::condition#split_booleans()","conductor::condition#split_condition()","conductor::stdin()","string#strip_meta()","string#strip_time()","array#symbolize_keys()","hash#symbolize_keys()","array#symbolize_keys!()","hash#symbolize_keys!()","conductor::condition#test_condition()","conductor::condition#test_meta()","conductor::condition#test_operator()","conductor::condition#test_pandoc()","conductor::condition#test_string()","conductor::condition#test_tree()","conductor::condition#test_truthy()","conductor::condition#test_type()","conductor::condition#test_yaml()","string#time?()","string#to_bool()","string#to_bool!()","string#to_date()","string#to_day()","string#to_pattern()","string#to_rx()","conductor::env::to_s()","conductor::condition#true?()","string#yaml?()",""],"info":[["Array","","Array.html","",""],["Conductor","","Conductor.html","","<p>Main Conductor class\n"],["Conductor::Command","","Conductor/Command.html","","<p>Command runner\n"],["Conductor::Condition","","Conductor/Condition.html","",""],["Conductor::Config","","Conductor/Config.html","","<p>Configuration methods\n"],["Conductor::Env","","Conductor/Env.html","","<p>Environment variables\n"],["Conductor::Script","","Conductor/Script.html","","<p>Script runner\n"],["FalseClass","","FalseClass.html","","<p>False class\n"],["Filter","","Filter.html","","<p>String filtering\n"],["Hash","","Hash.html","",""],["Object","","Object.html","",""],["String","","String.html","","<p>String helpers\n<p>String helpers\n"],["TrueClass","","TrueClass.html","","<p>True class\n"],["add_comment","String","String.html#method-i-add_comment","(key, value)",""],["add_mmd","String","String.html#method-i-add_mmd","(key, value)",""],["add_yaml","String","String.html#method-i-add_yaml","(key, value)",""],["args=","Conductor::Command","Conductor/Command.html#method-i-args-3D","(array)",""],["args=","Conductor::Script","Conductor/Script.html#method-i-args-3D","(array)","<p>Set the args array\n<p>@param array The array\n"],["bool?","FalseClass","FalseClass.html#method-i-bool-3F","()",""],["bool?","String","String.html#method-i-bool-3F","()","<p>Test if a string is a boolean\n<p>@return [Boolean] test result\n"],["bool?","TrueClass","TrueClass.html#method-i-bool-3F","()",""],["bool_to_symbol","String","String.html#method-i-bool_to_symbol","()","<p>Convert a string boolean to symbol\n<p>@return [Symbol] symbolized version\n"],["clean_condition","Object","Object.html#method-i-clean_condition","(condition)","<p>Clean up conditions for output\n<p>@param condition The condition\n"],["conduct","Conductor","Conductor.html#method-c-conduct","(tracks, res = nil, condition = nil)","<p>Main function to parse conditions and\n\n<pre>execute actions. Executes recursively for\nsub-tracks.</pre>\n<p>@param …\n"],["create_config","Conductor","Conductor.html#method-i-create_config","(config_file)",""],["date?","String","String.html#method-i-date-3F","()","<p>Test a string to see if it’s a UTC date\n<p>@return [Boolean] test result\n"],["delete_meta","String","String.html#method-i-delete_meta","(key)",""],["delete_mmd","String","String.html#method-i-delete_mmd","(key)",""],["delete_yaml","String","String.html#method-i-delete_yaml","(key)",""],["env","Conductor::Env","Conductor/Env.html#method-c-env","()","<p>Define @env using Marked environment variables\n"],["execute_track","Conductor","Conductor.html#method-c-execute_track","(track)","<p>Execute commands/scripts in the track\n<p>@param track The track\n<p>@return Resulting STDOUT output …\n"],["has_comment?","String","String.html#method-i-has_comment-3F","(key)",""],["load_test_env","Conductor::Env","Conductor/Env.html#method-c-load_test_env","()","<p>Loads a test environment.\n"],["meta?","String","String.html#method-i-meta-3F","()","<p>Test if a string starts with MMD metadata\n<p>@return [Boolean] test result\n"],["meta_insert_point","String","String.html#method-i-meta_insert_point","()",""],["meta_type","String","String.html#method-i-meta_type","()",""],["new","Conductor::Command","Conductor/Command.html#method-c-new","(command)",""],["new","Conductor::Condition","Conductor/Condition.html#method-c-new","(condition)","<p>Initializes the given condition.\n<p>@param condition The condition\n"],["new","Conductor::Config","Conductor/Config.html#method-c-new","()",""],["new","Conductor::Script","Conductor/Script.html#method-c-new","(script)","<p>Initializes the given script.\n<p>@param script The script/path\n"],["new","Filter","Filter.html#method-c-new","(filter)",""],["normalize_filter","String","String.html#method-i-normalize_filter","()",""],["number?","String","String.html#method-i-number-3F","()","<p>Test if a string is a number\n<p>@return [Boolean] test result\n"],["operator_to_symbol","Conductor::Condition","Conductor/Condition.html#method-i-operator_to_symbol","(operator)",""],["parse_condition","Conductor::Condition","Conductor/Condition.html#method-i-parse_condition","()",""],["path=","Conductor::Command","Conductor/Command.html#method-i-path-3D","(path)",""],["path=","Conductor::Script","Conductor/Script.html#method-i-path-3D","(path)","<p>Set script path, automatically expands/tests\n<p>@param path The path\n"],["process","Filter","Filter.html#method-i-process","()",""],["replace","String","String.html#method-i-replace","(regex, pattern)",""],["replace_all","String","String.html#method-i-replace_all","(regex, pattern)",""],["run","Conductor::Command","Conductor/Command.html#method-i-run","()",""],["run","Conductor::Script","Conductor/Script.html#method-i-run","()","<p>Execute the script\n<p>@return [String] script results (STDOUT)\n"],["sample_config","Conductor","Conductor.html#method-i-sample_config","()",""],["set_meta","String","String.html#method-i-set_meta","(key, value, style: :comment)",""],["split_booleans","Conductor::Condition","Conductor/Condition.html#method-i-split_booleans","(condition)","<p>Splits booleans and tests components.\n<p>@param condition The condition to test\n<p>@return [Boolean] …\n"],["split_condition","Conductor::Condition","Conductor/Condition.html#method-i-split_condition","(condition)","<p>Splits a natural language condition.\n<p>@param condition The condition @return [Array] Value, value …\n"],["stdin","Conductor","Conductor.html#method-c-stdin","()",""],["strip_meta","String","String.html#method-i-strip_meta","()",""],["strip_time","String","String.html#method-i-strip_time","()","<p>Remove time from string\n<p>@return [String] string with time removed\n"],["symbolize_keys","Array","Array.html#method-i-symbolize_keys","()",""],["symbolize_keys","Hash","Hash.html#method-i-symbolize_keys","()",""],["symbolize_keys!","Array","Array.html#method-i-symbolize_keys-21","()",""],["symbolize_keys!","Hash","Hash.html#method-i-symbolize_keys-21","()",""],["test_condition","Conductor::Condition","Conductor/Condition.html#method-i-test_condition","(condition)",""],["test_meta","Conductor::Condition","Conductor/Condition.html#method-i-test_meta","(content, value, key, operator)","<p>Test for MultiMarkdown metadata,\n\n<pre class=\"ruby\"><span class=\"ruby-identifier\">optionally</span> <span class=\"ruby-identifier\">key</span> <span class=\"ruby-keyword\">and</span> <span class=\"ruby-identifier\">value</span>\n</pre>\n<p>@param content [String] The text content …\n"],["test_operator","Conductor::Condition","Conductor/Condition.html#method-i-test_operator","(value1, value2, operator)","<p>Test operators\n<p>@param value1 Value @param value2 Value to test @param operator …\n"],["test_pandoc","Conductor::Condition","Conductor/Condition.html#method-i-test_pandoc","(content, operator)",""],["test_string","Conductor::Condition","Conductor/Condition.html#method-i-test_string","(val1, val2, operator)","<p>Compare a string based on operator\n<p>@param val1 The string to test against @param val2 …\n"],["test_tree","Conductor::Condition","Conductor/Condition.html#method-i-test_tree","(origin, value, operator)","<p>Test for the existince of a\n\n<pre>file/directory in the parent tree</pre>\n<p>@param origin Starting directory …\n"],["test_truthy","Conductor::Condition","Conductor/Condition.html#method-i-test_truthy","(value1, value2, operator)","<p>Test “truthiness”\n<p>@param value1 Value to test against @param value2 Value to …\n"],["test_type","Conductor::Condition","Conductor/Condition.html#method-i-test_type","(val1, val2, operator)","<p>Test for type of value\n<p>@param val1 value @param val2 value to test against @param …\n"],["test_yaml","Conductor::Condition","Conductor/Condition.html#method-i-test_yaml","(content, value, key, operator)","<p>Test for presence of yaml, optionall for\n\n<pre>a key, optionally for a key's value</pre>\n<p>@param content Text …\n"],["time?","String","String.html#method-i-time-3F","()","<p>Test a string to see if it includes a time\n<p>@return [Boolean] test result\n"],["to_bool","String","String.html#method-i-to_bool","()","<p>Returns a bool representation of the string.\n<p>@return [Boolean] Bool representation of the object. …\n"],["to_bool!","String","String.html#method-i-to_bool-21","()","<p>Destructive version of #to_bool\n<p>@see #to_bool\n"],["to_date","String","String.html#method-i-to_date","()","<p>Convert a natural language string to a Date\n\n<pre class=\"ruby\"><span class=\"ruby-identifier\">object</span>\n</pre>\n<p>@return [Date] Resulting Date object\n"],["to_day","String","String.html#method-i-to_day","(time = :end)",""],["to_pattern","String","String.html#method-i-to_pattern","()",""],["to_rx","String","String.html#method-i-to_rx","()",""],["to_s","Conductor::Env","Conductor/Env.html#method-c-to_s","()","<p>env to string\n<p>@return [String] shell-compatible string representation of @env\n"],["true?","Conductor::Condition","Conductor/Condition.html#method-i-true-3F","()","<p>Tests condition\n<p>@return [Boolean] test result\n"],["yaml?","String","String.html#method-i-yaml-3F","()","<p>Test if string starts with YAML\n<p>@return [Boolean] test result\n"],["README","","README_rdoc.html","","<p>Marked Conductor\n<p>A command line tool that functions as a custom processor handler for Marked 2.\n"]]}}
|
1
|
+
var search_data = {"index":{"searchIndex":["array","conductor","command","condition","config","env","script","falseclass","filter","hash","object","string","trueclass","add_comment()","add_mmd()","add_yaml()","append()","args=()","args=()","bool?()","bool?()","bool?()","bool_to_symbol()","clean_condition()","conduct()","create_config()","date?()","delete_meta()","delete_mmd()","delete_yaml()","env()","execute_track()","first_h1()","first_h2()","get_title()","has_comment?()","insert_file()","insert_script()","insert_title()","insert_toc()","load_test_env()","meta?()","meta_insert_point()","meta_type()","new()","new()","new()","new()","new()","normalize_filter()","normalize_include_type()","normalize_position()","number?()","operator_to_symbol()","parse_condition()","path=()","path=()","process()","replace()","replace_all()","run()","run()","sample_config()","set_meta()","split_booleans()","split_condition()","stdin()","strip_meta()","strip_time()","symbolize_keys()","symbolize_keys()","symbolize_keys!()","symbolize_keys!()","test_condition()","test_meta()","test_operator()","test_pandoc()","test_string()","test_tree()","test_truthy()","test_type()","test_yaml()","time?()","title_from_slug()","titleize()","to_bool()","to_bool!()","to_date()","to_day()","to_pattern()","to_rx()","to_s()","true?()","yaml?()","readme"],"longSearchIndex":["array","conductor","conductor::command","conductor::condition","conductor::config","conductor::env","conductor::script","falseclass","filter","hash","object","string","trueclass","string#add_comment()","string#add_mmd()","string#add_yaml()","string#append()","conductor::command#args=()","conductor::script#args=()","falseclass#bool?()","string#bool?()","trueclass#bool?()","string#bool_to_symbol()","object#clean_condition()","conductor::conduct()","conductor#create_config()","string#date?()","string#delete_meta()","string#delete_mmd()","string#delete_yaml()","conductor::env::env()","conductor::execute_track()","string#first_h1()","string#first_h2()","string#get_title()","string#has_comment?()","string#insert_file()","string#insert_script()","string#insert_title()","string#insert_toc()","conductor::env::load_test_env()","string#meta?()","string#meta_insert_point()","string#meta_type()","conductor::command::new()","conductor::condition::new()","conductor::config::new()","conductor::script::new()","filter::new()","string#normalize_filter()","string#normalize_include_type()","string#normalize_position()","string#number?()","conductor::condition#operator_to_symbol()","conductor::condition#parse_condition()","conductor::command#path=()","conductor::script#path=()","filter#process()","string#replace()","string#replace_all()","conductor::command#run()","conductor::script#run()","conductor#sample_config()","string#set_meta()","conductor::condition#split_booleans()","conductor::condition#split_condition()","conductor::stdin()","string#strip_meta()","string#strip_time()","array#symbolize_keys()","hash#symbolize_keys()","array#symbolize_keys!()","hash#symbolize_keys!()","conductor::condition#test_condition()","conductor::condition#test_meta()","conductor::condition#test_operator()","conductor::condition#test_pandoc()","conductor::condition#test_string()","conductor::condition#test_tree()","conductor::condition#test_truthy()","conductor::condition#test_type()","conductor::condition#test_yaml()","string#time?()","string#title_from_slug()","string#titleize()","string#to_bool()","string#to_bool!()","string#to_date()","string#to_day()","string#to_pattern()","string#to_rx()","conductor::env::to_s()","conductor::condition#true?()","string#yaml?()",""],"info":[["Array","","Array.html","",""],["Conductor","","Conductor.html","","<p>Main Conductor class\n"],["Conductor::Command","","Conductor/Command.html","","<p>Command runner\n"],["Conductor::Condition","","Conductor/Condition.html","",""],["Conductor::Config","","Conductor/Config.html","","<p>Configuration methods\n"],["Conductor::Env","","Conductor/Env.html","","<p>Environment variables\n"],["Conductor::Script","","Conductor/Script.html","","<p>Script runner\n"],["FalseClass","","FalseClass.html","","<p>False class\n"],["Filter","","Filter.html","","<p>String filtering\n"],["Hash","","Hash.html","",""],["Object","","Object.html","",""],["String","","String.html","","<p>String helpers\n<p>String helpers\n"],["TrueClass","","TrueClass.html","","<p>True class\n"],["add_comment","String","String.html#method-i-add_comment","(key, value)",""],["add_mmd","String","String.html#method-i-add_mmd","(key, value)",""],["add_yaml","String","String.html#method-i-add_yaml","(key, value)",""],["append","String","String.html#method-i-append","(string)",""],["args=","Conductor::Command","Conductor/Command.html#method-i-args-3D","(array)",""],["args=","Conductor::Script","Conductor/Script.html#method-i-args-3D","(array)","<p>Set the args array\n<p>@param array The array\n"],["bool?","FalseClass","FalseClass.html#method-i-bool-3F","()",""],["bool?","String","String.html#method-i-bool-3F","()","<p>Test if a string is a boolean\n<p>@return [Boolean] test result\n"],["bool?","TrueClass","TrueClass.html#method-i-bool-3F","()",""],["bool_to_symbol","String","String.html#method-i-bool_to_symbol","()","<p>Convert a string boolean to symbol\n<p>@return [Symbol] symbolized version\n"],["clean_condition","Object","Object.html#method-i-clean_condition","(condition)","<p>Clean up conditions for output\n<p>@param condition The condition\n"],["conduct","Conductor","Conductor.html#method-c-conduct","(tracks, res = nil, condition = nil)","<p>Main function to parse conditions and\n\n<pre>execute actions. Executes recursively for\nsub-tracks.</pre>\n<p>@param …\n"],["create_config","Conductor","Conductor.html#method-i-create_config","(config_file)",""],["date?","String","String.html#method-i-date-3F","()","<p>Test a string to see if it’s a UTC date\n<p>@return [Boolean] test result\n"],["delete_meta","String","String.html#method-i-delete_meta","(key)",""],["delete_mmd","String","String.html#method-i-delete_mmd","(key)",""],["delete_yaml","String","String.html#method-i-delete_yaml","(key)",""],["env","Conductor::Env","Conductor/Env.html#method-c-env","()","<p>Define @env using Marked environment variables\n"],["execute_track","Conductor","Conductor.html#method-c-execute_track","(track)","<p>Execute commands/scripts in the track\n<p>@param track The track\n<p>@return Resulting STDOUT output …\n"],["first_h1","String","String.html#method-i-first_h1","()",""],["first_h2","String","String.html#method-i-first_h2","()",""],["get_title","String","String.html#method-i-get_title","()",""],["has_comment?","String","String.html#method-i-has_comment-3F","(key)",""],["insert_file","String","String.html#method-i-insert_file","(path, type = :file, position = :end)",""],["insert_script","String","String.html#method-i-insert_script","(path)",""],["insert_title","String","String.html#method-i-insert_title","()",""],["insert_toc","String","String.html#method-i-insert_toc","(max = nil, after = :h1)",""],["load_test_env","Conductor::Env","Conductor/Env.html#method-c-load_test_env","()","<p>Loads a test environment.\n"],["meta?","String","String.html#method-i-meta-3F","()","<p>Test if a string starts with MMD metadata\n<p>@return [Boolean] test result\n"],["meta_insert_point","String","String.html#method-i-meta_insert_point","()",""],["meta_type","String","String.html#method-i-meta_type","()",""],["new","Conductor::Command","Conductor/Command.html#method-c-new","(command)",""],["new","Conductor::Condition","Conductor/Condition.html#method-c-new","(condition)","<p>Initializes the given condition.\n<p>@param condition The condition\n"],["new","Conductor::Config","Conductor/Config.html#method-c-new","()",""],["new","Conductor::Script","Conductor/Script.html#method-c-new","(script)","<p>Initializes the given script.\n<p>@param script The script/path\n"],["new","Filter","Filter.html#method-c-new","(filter)",""],["normalize_filter","String","String.html#method-i-normalize_filter","()",""],["normalize_include_type","String","String.html#method-i-normalize_include_type","()",""],["normalize_position","String","String.html#method-i-normalize_position","()",""],["number?","String","String.html#method-i-number-3F","()","<p>Test if a string is a number\n<p>@return [Boolean] test result\n"],["operator_to_symbol","Conductor::Condition","Conductor/Condition.html#method-i-operator_to_symbol","(operator)",""],["parse_condition","Conductor::Condition","Conductor/Condition.html#method-i-parse_condition","()",""],["path=","Conductor::Command","Conductor/Command.html#method-i-path-3D","(path)",""],["path=","Conductor::Script","Conductor/Script.html#method-i-path-3D","(path)","<p>Set script path, automatically expands/tests\n<p>@param path The path\n"],["process","Filter","Filter.html#method-i-process","()",""],["replace","String","String.html#method-i-replace","(regex, pattern)",""],["replace_all","String","String.html#method-i-replace_all","(regex, pattern)",""],["run","Conductor::Command","Conductor/Command.html#method-i-run","()",""],["run","Conductor::Script","Conductor/Script.html#method-i-run","()","<p>Execute the script\n<p>@return [String] script results (STDOUT)\n"],["sample_config","Conductor","Conductor.html#method-i-sample_config","()",""],["set_meta","String","String.html#method-i-set_meta","(key, value, style: :comment)",""],["split_booleans","Conductor::Condition","Conductor/Condition.html#method-i-split_booleans","(condition)","<p>Splits booleans and tests components.\n<p>@param condition The condition to test\n<p>@return [Boolean] …\n"],["split_condition","Conductor::Condition","Conductor/Condition.html#method-i-split_condition","(condition)","<p>Splits a natural language condition.\n<p>@param condition The condition @return [Array] Value, value …\n"],["stdin","Conductor","Conductor.html#method-c-stdin","()",""],["strip_meta","String","String.html#method-i-strip_meta","()",""],["strip_time","String","String.html#method-i-strip_time","()","<p>Remove time from string\n<p>@return [String] string with time removed\n"],["symbolize_keys","Array","Array.html#method-i-symbolize_keys","()",""],["symbolize_keys","Hash","Hash.html#method-i-symbolize_keys","()",""],["symbolize_keys!","Array","Array.html#method-i-symbolize_keys-21","()",""],["symbolize_keys!","Hash","Hash.html#method-i-symbolize_keys-21","()",""],["test_condition","Conductor::Condition","Conductor/Condition.html#method-i-test_condition","(condition)",""],["test_meta","Conductor::Condition","Conductor/Condition.html#method-i-test_meta","(content, value, key, operator)","<p>Test for MultiMarkdown metadata,\n\n<pre class=\"ruby\"><span class=\"ruby-identifier\">optionally</span> <span class=\"ruby-identifier\">key</span> <span class=\"ruby-keyword\">and</span> <span class=\"ruby-identifier\">value</span>\n</pre>\n<p>@param content [String] The text content …\n"],["test_operator","Conductor::Condition","Conductor/Condition.html#method-i-test_operator","(value1, value2, operator)","<p>Test operators\n<p>@param value1 Value @param value2 Value to test @param operator …\n"],["test_pandoc","Conductor::Condition","Conductor/Condition.html#method-i-test_pandoc","(content, operator)",""],["test_string","Conductor::Condition","Conductor/Condition.html#method-i-test_string","(val1, val2, operator)","<p>Compare a string based on operator\n<p>@param val1 The string to test against @param val2 …\n"],["test_tree","Conductor::Condition","Conductor/Condition.html#method-i-test_tree","(origin, value, operator)","<p>Test for the existince of a\n\n<pre>file/directory in the parent tree</pre>\n<p>@param origin Starting directory …\n"],["test_truthy","Conductor::Condition","Conductor/Condition.html#method-i-test_truthy","(value1, value2, operator)","<p>Test “truthiness”\n<p>@param value1 Value to test against @param value2 Value to …\n"],["test_type","Conductor::Condition","Conductor/Condition.html#method-i-test_type","(val1, val2, operator)","<p>Test for type of value\n<p>@param val1 value @param val2 value to test against @param …\n"],["test_yaml","Conductor::Condition","Conductor/Condition.html#method-i-test_yaml","(content, value, key, operator)","<p>Test for presence of yaml, optionall for\n\n<pre>a key, optionally for a key's value</pre>\n<p>@param content Text …\n"],["time?","String","String.html#method-i-time-3F","()","<p>Test a string to see if it includes a time\n<p>@return [Boolean] test result\n"],["title_from_slug","String","String.html#method-i-title_from_slug","()",""],["titleize","String","String.html#method-i-titleize","()","<p>Titlecase a string\n<p>@return Titleized string\n"],["to_bool","String","String.html#method-i-to_bool","()","<p>Returns a bool representation of the string.\n<p>@return [Boolean] Bool representation of the object. …\n"],["to_bool!","String","String.html#method-i-to_bool-21","()","<p>Destructive version of #to_bool\n<p>@see #to_bool\n"],["to_date","String","String.html#method-i-to_date","()","<p>Convert a natural language string to a Date\n\n<pre class=\"ruby\"><span class=\"ruby-identifier\">object</span>\n</pre>\n<p>@return [Date] Resulting Date object\n"],["to_day","String","String.html#method-i-to_day","(time = :end)",""],["to_pattern","String","String.html#method-i-to_pattern","()",""],["to_rx","String","String.html#method-i-to_rx","()",""],["to_s","Conductor::Env","Conductor/Env.html#method-c-to_s","()","<p>env to string\n<p>@return [String] shell-compatible string representation of @env\n"],["true?","Conductor::Condition","Conductor/Condition.html#method-i-true-3F","()","<p>Tests condition\n<p>@return [Boolean] test result\n"],["yaml?","String","String.html#method-i-yaml-3F","()","<p>Test if string starts with YAML\n<p>@return [Boolean] test result\n"],["README","","README_rdoc.html","","<p>Marked Conductor\n<p>A command line tool that functions as a custom processor handler for Marked 2.\n"]]}}
|
data/html/js/search_index.js.gz
CHANGED
Binary file
|
data/html/table_of_contents.html
CHANGED
@@ -102,15 +102,20 @@
|
|
102
102
|
—
|
103
103
|
<span class="container">Conductor::Env</span>
|
104
104
|
|
105
|
+
<li class="method">
|
106
|
+
<a href="Conductor/Config.html#method-c-new">::new</a>
|
107
|
+
—
|
108
|
+
<span class="container">Conductor::Config</span>
|
109
|
+
|
105
110
|
<li class="method">
|
106
111
|
<a href="Conductor/Script.html#method-c-new">::new</a>
|
107
112
|
—
|
108
113
|
<span class="container">Conductor::Script</span>
|
109
114
|
|
110
115
|
<li class="method">
|
111
|
-
<a href="
|
116
|
+
<a href="Filter.html#method-c-new">::new</a>
|
112
117
|
—
|
113
|
-
<span class="container">
|
118
|
+
<span class="container">Filter</span>
|
114
119
|
|
115
120
|
<li class="method">
|
116
121
|
<a href="Conductor/Condition.html#method-c-new">::new</a>
|
@@ -118,14 +123,9 @@
|
|
118
123
|
<span class="container">Conductor::Condition</span>
|
119
124
|
|
120
125
|
<li class="method">
|
121
|
-
<a href="
|
122
|
-
—
|
123
|
-
<span class="container">Filter</span>
|
124
|
-
|
125
|
-
<li class="method">
|
126
|
-
<a href="Conductor/Config.html#method-c-new">::new</a>
|
126
|
+
<a href="Conductor/Command.html#method-c-new">::new</a>
|
127
127
|
—
|
128
|
-
<span class="container">Conductor::
|
128
|
+
<span class="container">Conductor::Command</span>
|
129
129
|
|
130
130
|
<li class="method">
|
131
131
|
<a href="Conductor.html#method-c-stdin">::stdin</a>
|
@@ -153,15 +153,20 @@
|
|
153
153
|
<span class="container">String</span>
|
154
154
|
|
155
155
|
<li class="method">
|
156
|
-
<a href="
|
156
|
+
<a href="String.html#method-i-append">#append</a>
|
157
157
|
—
|
158
|
-
<span class="container">
|
158
|
+
<span class="container">String</span>
|
159
159
|
|
160
160
|
<li class="method">
|
161
161
|
<a href="Conductor/Script.html#method-i-args-3D">#args=</a>
|
162
162
|
—
|
163
163
|
<span class="container">Conductor::Script</span>
|
164
164
|
|
165
|
+
<li class="method">
|
166
|
+
<a href="Conductor/Command.html#method-i-args-3D">#args=</a>
|
167
|
+
—
|
168
|
+
<span class="container">Conductor::Command</span>
|
169
|
+
|
165
170
|
<li class="method">
|
166
171
|
<a href="String.html#method-i-bool-3F">#bool?</a>
|
167
172
|
—
|
@@ -212,11 +217,46 @@
|
|
212
217
|
—
|
213
218
|
<span class="container">String</span>
|
214
219
|
|
220
|
+
<li class="method">
|
221
|
+
<a href="String.html#method-i-first_h1">#first_h1</a>
|
222
|
+
—
|
223
|
+
<span class="container">String</span>
|
224
|
+
|
225
|
+
<li class="method">
|
226
|
+
<a href="String.html#method-i-first_h2">#first_h2</a>
|
227
|
+
—
|
228
|
+
<span class="container">String</span>
|
229
|
+
|
230
|
+
<li class="method">
|
231
|
+
<a href="String.html#method-i-get_title">#get_title</a>
|
232
|
+
—
|
233
|
+
<span class="container">String</span>
|
234
|
+
|
215
235
|
<li class="method">
|
216
236
|
<a href="String.html#method-i-has_comment-3F">#has_comment?</a>
|
217
237
|
—
|
218
238
|
<span class="container">String</span>
|
219
239
|
|
240
|
+
<li class="method">
|
241
|
+
<a href="String.html#method-i-insert_file">#insert_file</a>
|
242
|
+
—
|
243
|
+
<span class="container">String</span>
|
244
|
+
|
245
|
+
<li class="method">
|
246
|
+
<a href="String.html#method-i-insert_script">#insert_script</a>
|
247
|
+
—
|
248
|
+
<span class="container">String</span>
|
249
|
+
|
250
|
+
<li class="method">
|
251
|
+
<a href="String.html#method-i-insert_title">#insert_title</a>
|
252
|
+
—
|
253
|
+
<span class="container">String</span>
|
254
|
+
|
255
|
+
<li class="method">
|
256
|
+
<a href="String.html#method-i-insert_toc">#insert_toc</a>
|
257
|
+
—
|
258
|
+
<span class="container">String</span>
|
259
|
+
|
220
260
|
<li class="method">
|
221
261
|
<a href="String.html#method-i-meta-3F">#meta?</a>
|
222
262
|
—
|
@@ -237,6 +277,16 @@
|
|
237
277
|
—
|
238
278
|
<span class="container">String</span>
|
239
279
|
|
280
|
+
<li class="method">
|
281
|
+
<a href="String.html#method-i-normalize_include_type">#normalize_include_type</a>
|
282
|
+
—
|
283
|
+
<span class="container">String</span>
|
284
|
+
|
285
|
+
<li class="method">
|
286
|
+
<a href="String.html#method-i-normalize_position">#normalize_position</a>
|
287
|
+
—
|
288
|
+
<span class="container">String</span>
|
289
|
+
|
240
290
|
<li class="method">
|
241
291
|
<a href="String.html#method-i-number-3F">#number?</a>
|
242
292
|
—
|
@@ -253,14 +303,14 @@
|
|
253
303
|
<span class="container">Conductor::Condition</span>
|
254
304
|
|
255
305
|
<li class="method">
|
256
|
-
<a href="Conductor/
|
306
|
+
<a href="Conductor/Script.html#method-i-path-3D">#path=</a>
|
257
307
|
—
|
258
|
-
<span class="container">Conductor::
|
308
|
+
<span class="container">Conductor::Script</span>
|
259
309
|
|
260
310
|
<li class="method">
|
261
|
-
<a href="Conductor/
|
311
|
+
<a href="Conductor/Command.html#method-i-path-3D">#path=</a>
|
262
312
|
—
|
263
|
-
<span class="container">Conductor::
|
313
|
+
<span class="container">Conductor::Command</span>
|
264
314
|
|
265
315
|
<li class="method">
|
266
316
|
<a href="Filter.html#method-i-process">#process</a>
|
@@ -278,14 +328,14 @@
|
|
278
328
|
<span class="container">String</span>
|
279
329
|
|
280
330
|
<li class="method">
|
281
|
-
<a href="Conductor/
|
331
|
+
<a href="Conductor/Command.html#method-i-run">#run</a>
|
282
332
|
—
|
283
|
-
<span class="container">Conductor::
|
333
|
+
<span class="container">Conductor::Command</span>
|
284
334
|
|
285
335
|
<li class="method">
|
286
|
-
<a href="Conductor/
|
336
|
+
<a href="Conductor/Script.html#method-i-run">#run</a>
|
287
337
|
—
|
288
|
-
<span class="container">Conductor::
|
338
|
+
<span class="container">Conductor::Script</span>
|
289
339
|
|
290
340
|
<li class="method">
|
291
341
|
<a href="Conductor.html#method-i-sample_config">#sample_config</a>
|
@@ -387,6 +437,16 @@
|
|
387
437
|
—
|
388
438
|
<span class="container">String</span>
|
389
439
|
|
440
|
+
<li class="method">
|
441
|
+
<a href="String.html#method-i-title_from_slug">#title_from_slug</a>
|
442
|
+
—
|
443
|
+
<span class="container">String</span>
|
444
|
+
|
445
|
+
<li class="method">
|
446
|
+
<a href="String.html#method-i-titleize">#titleize</a>
|
447
|
+
—
|
448
|
+
<span class="container">String</span>
|
449
|
+
|
390
450
|
<li class="method">
|
391
451
|
<a href="String.html#method-i-to_bool">#to_bool</a>
|
392
452
|
—
|
data/lib/conductor/filter.rb
CHANGED
@@ -47,6 +47,140 @@ class ::String
|
|
47
47
|
insert_point
|
48
48
|
end
|
49
49
|
|
50
|
+
def first_h1
|
51
|
+
first = 0
|
52
|
+
split(/\n/).each_with_index do |line, idx|
|
53
|
+
if line =~ /^(# *\S|={2,} *$)/
|
54
|
+
first = idx
|
55
|
+
break
|
56
|
+
end
|
57
|
+
end
|
58
|
+
first
|
59
|
+
end
|
60
|
+
|
61
|
+
def first_h2
|
62
|
+
first = 0
|
63
|
+
split(/\n/).each_with_index do |line, idx|
|
64
|
+
if line =~ /^(## *\S|-{2,} *$)/
|
65
|
+
first = idx
|
66
|
+
break
|
67
|
+
end
|
68
|
+
end
|
69
|
+
first
|
70
|
+
end
|
71
|
+
|
72
|
+
def insert_toc(max = nil, after = :h1)
|
73
|
+
lines = split(/\n/)
|
74
|
+
max = max && max.to_i.positive? ? " max#{max}" : ""
|
75
|
+
line = case after.to_sym
|
76
|
+
when :h2
|
77
|
+
first_h2.positive? ? first_h2 + 1 : 0
|
78
|
+
when :h1
|
79
|
+
first_h1.positive? ? first_h1 + 1 : 0
|
80
|
+
else
|
81
|
+
0
|
82
|
+
end
|
83
|
+
|
84
|
+
lines.insert(line, "\n<!--toc#{max}-->\n").join("\n")
|
85
|
+
end
|
86
|
+
|
87
|
+
def insert_file(path, type = :file, position = :end)
|
88
|
+
path.strip!
|
89
|
+
|
90
|
+
if path =~ %r{^[~/]}
|
91
|
+
path = File.expand_path(path)
|
92
|
+
elsif File.directory?(File.expand_path("~/.config/conductor/files"))
|
93
|
+
new_path = File.expand_path("~/.config/conductor/files/#{path}")
|
94
|
+
path = new_path if File.exist?(new_path)
|
95
|
+
end
|
96
|
+
|
97
|
+
out = case type
|
98
|
+
when :code
|
99
|
+
"<<(#{path})"
|
100
|
+
when :raw
|
101
|
+
"<<{#{path}}"
|
102
|
+
else
|
103
|
+
"<<[#{path}]"
|
104
|
+
end
|
105
|
+
out = "\n#{out}\n"
|
106
|
+
|
107
|
+
case position
|
108
|
+
when :start
|
109
|
+
"#{out}\n#{self}"
|
110
|
+
when :h1
|
111
|
+
split(/\n/).insert(first_h1 + 1, out).join("\n")
|
112
|
+
else
|
113
|
+
"#{self}\n#{out}"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
def append(string)
|
118
|
+
"#{self}\n#{string}"
|
119
|
+
end
|
120
|
+
|
121
|
+
def insert_script(path)
|
122
|
+
path.strip!
|
123
|
+
path = "#{path}.js" unless path =~ /\.js$/
|
124
|
+
|
125
|
+
if path =~ %r{^[~/]}
|
126
|
+
path = File.expand_path(path)
|
127
|
+
else
|
128
|
+
new_path = if File.directory?(File.expand_path("~/.config/conductor/javascript"))
|
129
|
+
File.expand_path("~/.config/conductor/javascript/#{path}")
|
130
|
+
elsif File.directory?(File.expand_path("~/.config/conductor/javascripts"))
|
131
|
+
File.expand_path("~/.config/conductor/javascripts/#{path}")
|
132
|
+
else
|
133
|
+
File.expand_path("~/.config/conductor/scripts/#{path}")
|
134
|
+
end
|
135
|
+
|
136
|
+
path = new_path if File.exist?(new_path)
|
137
|
+
end
|
138
|
+
|
139
|
+
%(#{self}\n<script type="javascript" src="#{path}"></script>\n)
|
140
|
+
end
|
141
|
+
|
142
|
+
def title_from_slug
|
143
|
+
filename = File.basename(Conductor::Env.env[:filepath]).sub(/\.[a-z]+$/i, "")
|
144
|
+
filename.sub!(/-?\d{4}-\d{2}-\d{2}-?/, "")
|
145
|
+
filename.sub!(/\bdot\b/, ".")
|
146
|
+
filename.sub!(/ dash /, "-")
|
147
|
+
filename
|
148
|
+
end
|
149
|
+
|
150
|
+
def get_title
|
151
|
+
title = nil
|
152
|
+
|
153
|
+
case meta_type
|
154
|
+
when :yaml
|
155
|
+
m = match(/^---.*?\n(---|\.\.\.)/m)
|
156
|
+
yaml = YAML.load(m[0])
|
157
|
+
title = yaml["title"]
|
158
|
+
when :mmd
|
159
|
+
split(/\n/).each do |line|
|
160
|
+
if line =~ /^ *title: *(\S.*?)$/i
|
161
|
+
title = Regexp.last_match(1)
|
162
|
+
break
|
163
|
+
end
|
164
|
+
end
|
165
|
+
else
|
166
|
+
m = match(/title: (.*?)$/i)
|
167
|
+
title = m ? m[0] : nil
|
168
|
+
end
|
169
|
+
|
170
|
+
title ||= title_from_slug.titleize
|
171
|
+
|
172
|
+
title
|
173
|
+
end
|
174
|
+
|
175
|
+
def insert_title
|
176
|
+
title = get_title
|
177
|
+
lines = split(/\n/)
|
178
|
+
insert_point = meta_insert_point
|
179
|
+
insert_at = insert_point.positive? ? insert_point + 1 : 0
|
180
|
+
lines.insert(insert_at, "# #{title}\n")
|
181
|
+
lines.join("\n")
|
182
|
+
end
|
183
|
+
|
50
184
|
def set_meta(key, value, style: :comment)
|
51
185
|
case style
|
52
186
|
when :yaml
|
@@ -143,7 +277,7 @@ class ::String
|
|
143
277
|
end
|
144
278
|
|
145
279
|
def to_pattern
|
146
|
-
gsub(/\$(\d+)/, '\\\\\1').gsub(/(^["']|["']$)/,
|
280
|
+
gsub(/\$(\d+)/, '\\\\\1').gsub(/(^["']|["']$)/, "")
|
147
281
|
end
|
148
282
|
end
|
149
283
|
|
@@ -153,12 +287,40 @@ class Filter < String
|
|
153
287
|
|
154
288
|
def initialize(filter)
|
155
289
|
@filter, @params = filter.normalize_filter
|
290
|
+
super
|
156
291
|
end
|
157
292
|
|
158
293
|
def process
|
159
294
|
content = Conductor.stdin
|
160
295
|
|
161
296
|
case @filter
|
297
|
+
when /(insert|add|inject)title/
|
298
|
+
content.insert_title
|
299
|
+
when /(insert|add|inject)script/
|
300
|
+
content = content.append("\n\n<div>")
|
301
|
+
@params.each do |script|
|
302
|
+
content = content.insert_script(script)
|
303
|
+
end
|
304
|
+
"#{content}</div>"
|
305
|
+
when /(prepend|append|insert|inject)(raw|file|code)/
|
306
|
+
m = Regexp.last_match
|
307
|
+
|
308
|
+
position = if @params.count == 2
|
309
|
+
@params[1].normalize_position
|
310
|
+
else
|
311
|
+
m[1].normalize_position
|
312
|
+
end
|
313
|
+
content.insert_file(@params[0], m[2].normalize_include_type, position)
|
314
|
+
when /inserttoc/
|
315
|
+
max = @params.count.positive? ? @params[0] : nil
|
316
|
+
|
317
|
+
if @params.count == 2
|
318
|
+
after = @params[1] =~ /2/ ? :h2 : :h1
|
319
|
+
else
|
320
|
+
after = :start
|
321
|
+
end
|
322
|
+
|
323
|
+
content.insert_toc(max, after)
|
162
324
|
when /(add|set)meta/
|
163
325
|
unless @params.count == 2
|
164
326
|
warn "Invalid filter parameters: #{@filter}(#{@params.join(",")})"
|
@@ -168,8 +330,8 @@ class Filter < String
|
|
168
330
|
# needs to test for existing meta, setting key if exists, adding if not
|
169
331
|
# should recognize yaml and mmd
|
170
332
|
content.set_meta(@params[0], @params[1], style: content.meta_type)
|
171
|
-
when /(strip|remove)meta/
|
172
|
-
if @params
|
333
|
+
when /(strip|remove|delete)meta/
|
334
|
+
if @params&.count.positive?
|
173
335
|
content.delete_meta(@params[0])
|
174
336
|
else
|
175
337
|
content.strip_meta
|
data/lib/conductor/string.rb
CHANGED
@@ -2,6 +2,37 @@
|
|
2
2
|
|
3
3
|
# String helpers
|
4
4
|
class ::String
|
5
|
+
##
|
6
|
+
## Titlecase a string
|
7
|
+
##
|
8
|
+
## @return Titleized string
|
9
|
+
##
|
10
|
+
def titleize
|
11
|
+
split(/(\W)/).map(&:capitalize).join
|
12
|
+
end
|
13
|
+
|
14
|
+
def normalize_position
|
15
|
+
case self
|
16
|
+
when /^(be|s|t)/
|
17
|
+
:start
|
18
|
+
when /h1/
|
19
|
+
:h1
|
20
|
+
else
|
21
|
+
:end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def normalize_include_type
|
26
|
+
case self
|
27
|
+
when /^c/
|
28
|
+
:code
|
29
|
+
when /^r/
|
30
|
+
:raw
|
31
|
+
else
|
32
|
+
:file
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
5
36
|
##
|
6
37
|
## Convert a string boolean to symbol
|
7
38
|
##
|
data/lib/conductor/version.rb
CHANGED
data/src/_README.md
CHANGED
@@ -23,7 +23,7 @@ If you use Homebrew, you can run
|
|
23
23
|
|
24
24
|
To use Conductor, you need to set up a configuration file in `~/.config/conductor/tracks.yaml`. Run `conductor` once to create the directory and an empty configuration. See [Configuration](#configuration) below for details on setting up your "tracks."
|
25
25
|
|
26
|
-
Once configured, you can set up conductor as a Custom Processor in Marked. Run `which conductor | pbcopy` to get the full path to the binary and copy it, then open
|
26
|
+
Once configured, you can set up conductor as a Custom Processor in Marked. Run `which conductor | pbcopy` to get the full path to the binary and copy it, then open **Marked Preferences > Advanced** and select either Custom Processor or Custom Preprocessor (or both) and paste into the **Path:** field. You can select *Automatically enable for new windows* to have the processor enabled by default when opening documents.
|
27
27
|
|
28
28
|
<!--JEKYLL {% img aligncenter /uploads/2024/04/marked-preferences-conductor.jpg 593 673 "marked-preferences-conductor.jpg" %}-->
|
29
29
|
<!--GITHUB--><!--END GITHUB-->
|
@@ -122,13 +122,49 @@ Conditions can be combined with AND or OR (must be uppercase) and simple parenth
|
|
122
122
|
|
123
123
|
### Actions
|
124
124
|
|
125
|
-
The action can be
|
125
|
+
The action can be `script`, `command`, or `filter`.
|
126
126
|
|
127
|
-
Scripts are located in `~/.config/conductor/scripts/` and should be executable files that take input on STDIN (unless `$file` is specified in the `script` definition). If a script is defined starting with `~` or `/`, that will be interpreted as a full path to an alternate location.
|
127
|
+
**Scripts** are located in `~/.config/conductor/scripts/` and should be executable files that take input on STDIN (unless `$file` is specified in the `script` definition). If a script is defined starting with `~` or `/`, that will be interpreted as a full path to an alternate location.
|
128
128
|
|
129
|
-
|
129
|
+
> Example:
|
130
|
+
>
|
131
|
+
> script: github_pre
|
130
132
|
|
131
|
-
|
133
|
+
**Commands** are interpreted as shell commands. If a command exists in the `$PATH`, a full path will automatically be determined, so a command can be as simple as just `pandoc`. Add any arguments needed after the command.
|
134
|
+
|
135
|
+
> Example:
|
136
|
+
>
|
137
|
+
> command: multimarkdown
|
138
|
+
|
139
|
+
|
140
|
+
> Using `$file` as an argument to a script or command will bypass processing of STDIN input, and instead use the value of $MARKED_PATH to read the contents of the specified file.
|
141
|
+
|
142
|
+
**Filters** are simple actions that can be run on the content without having to write a separate script for it. Available filters are:
|
143
|
+
| filter | description |
|
144
|
+
| :---- | :---------- |
|
145
|
+
| `setMeta(key, value)` | adds or updates a meta key, aware of YAML and MMD |
|
146
|
+
| `stripMeta` | strips all metadata (YAML or MMD) from the content |
|
147
|
+
| `deleteMeta(key)` | removes a specific key (YAML or MMD) |
|
148
|
+
| `setStyle(name)` | sets the Marked preview style to a preconfigured Style name |
|
149
|
+
| `replace(search, replace)` | performs a (single) search and replace on content |
|
150
|
+
| `replaceAll(search, replace)` | global version of `replaceAll`) |
|
151
|
+
| `insertTitle` | adds a title to the document, either from metadata or filename |
|
152
|
+
| `insertScript(path[,path])` | injects javascript(s) |
|
153
|
+
| `insertTOC(max, after)` | insert TOC (max=max levels, after=start, \*h1, or h2) |
|
154
|
+
| `prepend/appendFile(path)` | insert a file as Markdown at beginning or end of content |
|
155
|
+
| `prepend/appendRaw(path)` | insert a file as raw HTML at beginning or end of content |
|
156
|
+
| `prepend/appendCode(path)` | insert a file as a code block at beginning or end of content |
|
157
|
+
|
158
|
+
For `insertScript`, if path is just a filename it will look for a match in `~/.config/conductor/javascript` or `~/.config/conductor/scripts` and turn that into an absolute path if the file is found.
|
159
|
+
|
160
|
+
For `replace` and `replaceAll`: If *search* is surrounded with forward slashes followed by optional flags (*i* for case-insensitive, *m* to make dot match newlines), e.g. `/contribut(ing)?/i`, it will be interpreted as a regular expression. The *replace* value can include numeric capture groups, e.g. `Follow$2`.
|
161
|
+
|
162
|
+
> Example:
|
163
|
+
>
|
164
|
+
> filter: setStyle(github)
|
165
|
+
|
166
|
+
|
167
|
+
> Filters can be camel case (replaceAll) or snake case (replace_all), either will work, case insensitive.
|
132
168
|
|
133
169
|
## Custom Processors
|
134
170
|
|
data/test.md
ADDED
data/test.sh
CHANGED
@@ -1,12 +1,9 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
|
-
# ./test.sh PATH
|
3
|
+
# ./test.sh OPTIONS PATH
|
4
|
+
# test.sh -h for options
|
4
5
|
|
5
|
-
OPTIND=1
|
6
|
-
|
7
|
-
# Initialize our own variables:
|
8
|
-
output_file=""
|
9
|
-
verbose=0
|
6
|
+
OPTIND=1
|
10
7
|
|
11
8
|
show_help() {
|
12
9
|
echo "$(basename $0): Shortcut for testing conductor with a given file"
|
@@ -18,7 +15,7 @@ show_help() {
|
|
18
15
|
echo " $0 [-p PHASE] [-o OUTPUT] FILE_PATH"
|
19
16
|
}
|
20
17
|
|
21
|
-
if [[ -
|
18
|
+
if [[ -f bin/conductor ]]; then
|
22
19
|
CMD="./bin/conductor"
|
23
20
|
else
|
24
21
|
CMD="$(which conductor)"
|