mirror of
https://github.com/marty-oehme/scripts.git
synced 2024-12-22 07:58:08 +00:00
updated script
This commit is contained in:
parent
eb6e526fbc
commit
a715f6df90
5 changed files with 11 additions and 115 deletions
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"name": "Selected Markdown to BBCode Dev Version",
|
|
||||||
"identifier": "selected-markdown-to-bbcode-dev",
|
|
||||||
"script": "selected-markdown-to-bbcode.qml",
|
|
||||||
"resources": ["panbbcode.lua"],
|
|
||||||
"authors": ["@pbek"],
|
|
||||||
"version": "0.0.1",
|
|
||||||
"minAppVersion": "17.05.8",
|
|
||||||
"description" : "With this script you can right click the selected text and convert it to BBCode Code.\n\n<b>Dependencies</b>\n<a href=\"http://pandoc.org\">Pandoc</a>\n<a href=\"https://github.com/2ion/pandoc-bbcode\">panbbcode.lua</a> (bundled with the script)\n\n<b>Installation</b>\nAfter you have installed <i>Pandoc</i> you have to configure its path in the script settings."
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
import QtQml 2.0
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This script creates a menu item and a button that converts the selected Markdown
|
|
||||||
* text to BBCode in the clipboard
|
|
||||||
*
|
|
||||||
* Dependencies:
|
|
||||||
* http://pandoc.org
|
|
||||||
* https://github.com/2ion/pandoc-bbcode
|
|
||||||
*/
|
|
||||||
QtObject {
|
|
||||||
property string pandocPath;
|
|
||||||
|
|
||||||
// register your settings variables so the user can set them in the script settings
|
|
||||||
property variant settingsVariables: [
|
|
||||||
{
|
|
||||||
"identifier": "pandocPath",
|
|
||||||
"name": "Pandoc path",
|
|
||||||
"description": "Please select the path to your Pandoc executable:",
|
|
||||||
"type": "file",
|
|
||||||
"default": "pandoc",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
// the path to the script's directory will be set here
|
|
||||||
property string scriptDirPath;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes the custom action
|
|
||||||
*/
|
|
||||||
function init() {
|
|
||||||
script.registerCustomAction("markdownToBBCode", "Markdown to BBCode", "BBCode", "edit-copy", true, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This function is invoked when a custom action is triggered
|
|
||||||
* in the menu or via button
|
|
||||||
*
|
|
||||||
* @param identifier string the identifier defined in registerCustomAction
|
|
||||||
*/
|
|
||||||
function customActionInvoked(identifier) {
|
|
||||||
if (identifier != "markdownToBBCode") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// get the selected text from the note text edit
|
|
||||||
var text = script.noteTextEditSelectedText();
|
|
||||||
|
|
||||||
// get the path of the lua script
|
|
||||||
var panbbcodePath = scriptDirPath + script.dirSeparator() + "panbbcode.lua";
|
|
||||||
|
|
||||||
// you need pandoc and the BBCode writer from https://github.com/2ion/pandoc-bbcode
|
|
||||||
// to convert Markdown to BBCode
|
|
||||||
var params = ["-t", panbbcodePath, "-f", "markdown"];
|
|
||||||
var result = script.startSynchronousProcess(pandocPath, params, text);
|
|
||||||
|
|
||||||
// do some code list cleanup
|
|
||||||
result = replaceAll(result, "[list=*]", "[list]");
|
|
||||||
result = replaceAll(result, "[/*]", "");
|
|
||||||
|
|
||||||
// convert inline code blocks to italic
|
|
||||||
// do this 10 times to take care of multiple code blocks in a line
|
|
||||||
for (var i = 0; i < 10; i++) {
|
|
||||||
result = result.replace(/^(.+?)\[code\](.+?)\[\/code\]/img, "$1[i]$2[/i]");
|
|
||||||
}
|
|
||||||
|
|
||||||
// convert headlines to bold
|
|
||||||
result = replaceAll(result, "[h]", "[b]");
|
|
||||||
result = replaceAll(result, "[/h]", "[/b]");
|
|
||||||
|
|
||||||
// convert `em` to `i`
|
|
||||||
result = replaceAll(result, "[em]", "[i]");
|
|
||||||
result = replaceAll(result, "[/em]", "[/i]");
|
|
||||||
|
|
||||||
// link some users
|
|
||||||
result = replaceAll(result, "@Georg", "[USER=1]Georg[/USER]");
|
|
||||||
result = replaceAll(result, "@Sören", "[USER=2]Sören[/USER]");
|
|
||||||
result = replaceAll(result, "@Robert", "[USER=16]Robert[/USER]");
|
|
||||||
result = replaceAll(result, "@Stephan", "[USER=8]Stephan[/USER]");
|
|
||||||
result = replaceAll(result, "@Gunnar", "[USER=14]Gunnar[/USER]");
|
|
||||||
|
|
||||||
// put the result into the clipboard
|
|
||||||
script.setClipboardText(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
function replaceAll(str, find, replace) {
|
|
||||||
return String(str).replace(new RegExp(escapeRegExp(find), 'g'), replace);
|
|
||||||
}
|
|
||||||
|
|
||||||
function escapeRegExp(str) {
|
|
||||||
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,8 +2,9 @@
|
||||||
"name": "Selected Markdown to BBCode",
|
"name": "Selected Markdown to BBCode",
|
||||||
"identifier": "selected-markdown-to-bbcode",
|
"identifier": "selected-markdown-to-bbcode",
|
||||||
"script": "selected-markdown-to-bbcode.qml",
|
"script": "selected-markdown-to-bbcode.qml",
|
||||||
|
"resources": ["panbbcode.lua"],
|
||||||
"authors": ["@pbek"],
|
"authors": ["@pbek"],
|
||||||
"version": "0.0.1",
|
"version": "0.0.2",
|
||||||
"minAppVersion": "17.05.7",
|
"minAppVersion": "17.05.8",
|
||||||
"description" : "With this script you can right click the selected text and convert it to BBCode Code.\n\n<b>Dependencies</b>\n<a href=\"http://pandoc.org\">Pancode</a>\n<a href=\"https://github.com/2ion/pandoc-bbcode\">panbbcode.lua</a>\n\n<b>Installation</b>\nAfter you have installed <i>Pancode</i> you have to download the lua script <code>panbbcode.lua</code> and configure both paths in the script settings."
|
"description" : "With this script you can right click the selected text and convert it to BBCode Code.\n\n<b>Dependencies</b>\n<a href=\"http://pandoc.org\">Pandoc</a>\n<a href=\"https://github.com/2ion/pandoc-bbcode\">panbbcode.lua</a> (bundled with the script)\n\n<b>Installation</b>\nAfter you have installed <i>Pandoc</i> you have to configure its path in the script settings."
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ import QtQml 2.0
|
||||||
* https://github.com/2ion/pandoc-bbcode
|
* https://github.com/2ion/pandoc-bbcode
|
||||||
*/
|
*/
|
||||||
QtObject {
|
QtObject {
|
||||||
property string panbbcodePath;
|
|
||||||
property string pandocPath;
|
property string pandocPath;
|
||||||
|
|
||||||
// register your settings variables so the user can set them in the script settings
|
// register your settings variables so the user can set them in the script settings
|
||||||
|
@ -21,15 +20,12 @@ QtObject {
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"default": "pandoc",
|
"default": "pandoc",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"identifier": "panbbcodePath",
|
|
||||||
"name": "panbbcode path",
|
|
||||||
"description": "Please select the path to your <code>panbbcode.lua</code> executable:",
|
|
||||||
"type": "file",
|
|
||||||
"default": "/opt/scripts/panbbcode.lua",
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// the path to the script's directory will be set here
|
||||||
|
property string scriptDirPath;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the custom action
|
* Initializes the custom action
|
||||||
*/
|
*/
|
||||||
|
@ -51,6 +47,9 @@ QtObject {
|
||||||
// get the selected text from the note text edit
|
// get the selected text from the note text edit
|
||||||
var text = script.noteTextEditSelectedText();
|
var text = script.noteTextEditSelectedText();
|
||||||
|
|
||||||
|
// get the path of the lua script
|
||||||
|
var panbbcodePath = scriptDirPath + script.dirSeparator() + "panbbcode.lua";
|
||||||
|
|
||||||
// you need pandoc and the BBCode writer from https://github.com/2ion/pandoc-bbcode
|
// you need pandoc and the BBCode writer from https://github.com/2ion/pandoc-bbcode
|
||||||
// to convert Markdown to BBCode
|
// to convert Markdown to BBCode
|
||||||
var params = ["-t", panbbcodePath, "-f", "markdown"];
|
var params = ["-t", panbbcodePath, "-f", "markdown"];
|
||||||
|
|
Loading…
Reference in a new issue