kwikEditor Plugin
cloneed the following repositories from github/kwiksher
~/Documents/GitHub/kwik5-plugin
~/Documents/GitHub/kwik5-plugin_build
~/Documents/GitHub/kwik5-project-template
~/Documents/GitHub/kwik5-sample-bookskwikt-plugin_build
cd lua ln -s ../../kwik5-plugin ./pluginkwik5-sample-books
copy Scripts from kwik5-project-template
ln -s ../kwik5-project-template/Scripts ./ScriptsWindows (requires Administrator or Developer Mode):
REM run in a cmd.exe shell from the kwik5-sample-books root mklink /D "Scripts" "..\kwik5-project-template\Scripts"
or
REM set project root (no spaces around =) SET "PROJECT_DIR=C:\Users\ymmtny\Documents\GitHub" REM runas with expanded %PROJECT_DIR% (runs mklink as Administrator) runas /user:Administrator "cmd /c mklink /D \"%PROJECT_DIR%\kwik5-sample-books\Scripts\" \"%PROJECT_DIR%\kwik5-project-template\Scripts\""PowerShell (requires Administrator or Developer Mode):
New-Item -ItemType SymbolicLink -Path .\Scripts -Target ..\kwik5-project-template\Scriptscreate lua_modules folder and link kwik5-plugin as kwiksher
env.lua with “debug”
local resourcePath = system.pathForFile("", system.ResourceDirectory) 'mkdir -p '..resourcePath ..'/lua_modules && cd ' .. resourcePath ..'/lua_modules && ln -s ../../../kwik5-plugin kwiksher',this means
cd Solar2D mkdir -p lua_modules && cd lua_modules && ln -s ../../../kwik5-plugin kwiksher
copy the other folders in lua_modules from kwik5-project-template/lua_modules
cd Solar2D cp ../kwik5-project-template/lua_modules/* ./lua_modules/
Skin
%AppData%\Roaming\Corona Labs\Corona Simulator\Skins
%AppData%\Roaming\Corona Labs\Corona Simulator\Plugins\pluginsymbolic link to kwik5-plugin
win runAsAdminstrator
mklink /D "C:\Users\ymmtny\Documents\GitHub\kwik5-sample-books\Solar2D\plugin" "C:\Users\ymmtny\Documents\GitHub\kwik5-plugin"or
runas /user:Administrator "cmd /c mklink /D C:\Users\ymmtny\Documents\GitHub\kwik5-sample-books\Solar2D\plugin C:\Users\ymmtny\Documents\GitHub\kwik5-plugin"For example, kwik-sample-books/Solar2D/lua_modules/kwiksher is symbolic-linked to develop/Solar2D/kwik5-plugin

win bat
- backup_lua.bat.tmplt
- copy_lua.bat.tmplt
- copy_page.bat.tmplt
- create_book.bat.tmplt
- create_book_bg.bat.tmplt
- create_book_page.bat
- create_page.bat.tmplt
- delete_lua.bat.tmplt
- delete_pages.bat.tmplt
- rename_audio.bat.tmplt
- rename_book.bat.tmplt
- rename_group.bat.tmplt
- rename_joint.bat.tmplt
- rename_layer.bat.tmplt
- rename_page.bat.tmplt
- rename_timer.bat.tmplt
- rename_variable.bat.tmplt
- undo_lua.bat.tmplt
plugin/kwikEditor
_kwikPath = "plugin/kwikEditor/" kwikPath = system.pathForFile(kwikPath, system.ResourceDirectory) -- -- kwikPath: /Users/ymmtny/Documents/GitHub/kwik-visual-code/develop/Solar2D/kwik-editor_plugin/. -- kwikRoot = "plugin.kwikEditor."pacage.path
these folders in plugin/kwikEditor are required from App/**/*.lua
local folders = { ".", "commands", "commands/app", "commands/common", "commands/kwik", "components", "components/bookstore", "components/bookstore/controller", "components/bookstore/model", "components/bookstore/smc", "components/bookstore/view", "components/common", "components/custom", "components/kwik", "components/mui", "controller", "extlib", "extlib/com", "extlib/com/gieson", "extlib/lustache", "extlib/materialui", "extlib/materialui/material-design-icons", "extlib/nanostores", "extlib/nanostores/lib", "extlib/nanostores/scripts", "extlib/plugin", "extlib/plugin/mouseHover", "extlib/pretty", "extlib/pretty/json", "extlib/robotlegs", "extlib/spyric", "extlib/transition2lib", "installer", "installer/lustache", "installer/Skins", "lib", }require for extlib
lib.original_require = require require = function(...) local modName = ... -- modName = modName:gsub("com.gieson", "extlib.com.gieson") -- modName = modName:gsub("Tools", "extlib.com.gieson.Tools") -- modName = modName:gsub("TouchHandlerObj", "extlib.com.gieson.TouchHandlerObj") modName = modName:gsub("checks", kwikRoot.."extlib.checks") modName = modName:gsub("metalua.", kwikRoot.."extlib.metalua.") modName = modName:gsub("materialui", kwikRoot.."extlib.materialui") modName = modName:gsub("nanostores.index", "nanostores.nanostores") modName = modName:gsub("lib.clean%-stores", kwikRoot.."extlib.nanostores.lib.clean-stores") modName = modName:gsub("lib.create%-derived", kwikRoot.."extlib.nanostores.lib.create-derived") modName = modName:gsub("lib.create%-map", kwikRoot.."extlib.nanostores.lib.create-map") modName = modName:gsub("lib.create%-store", kwikRoot.."extlib.nanostores.lib.create-store") modName = modName:gsub("lib.define%-map", kwikRoot.."extlib.nanostores.lib.define-map") modName = modName:gsub("lib.effect", kwikRoot.."extlib.nanostores.lib.effect") modName = modName:gsub("lib.get%-value", kwikRoot.."extlib.nanostores.lib.get-value") modName = modName:gsub("lib.keep%-active", kwikRoot.."extlib.nanostores.lib.keep-active") modName = modName:gsub("lib.lualib_bundle", kwikRoot.."extlib.nanostores.lib.lualib_bundle") modName = modName:gsub("lib.update", kwikRoot.."extlib.nanostores.lib.update") return lib.original_require(modName) endcontorller.Application.newModule
for example, editor/layerTable.lua
local name = ... local parent, root = newModule(name) -- -- parent: plugin.kwikEditor.editor.parts. root: plugin.kwikEditor.editor. -- local Props = { name = "layerTable", anchorName = "selectLayer", id = "layer" } local M = require(parent .."baseTable").new(Props) local commands = require(parent.."layerTableCommands")
build.sh is modified
- skip template folder
- tar -czvf plugin.data.tgz -C ./build/plugins/2017.3032/lua/lua_51/plugin .
install
tar -xzf plugin.data.tgz -C ~/Library/Application\ Support/Corona/Simulator/Plugins/pluginfor downloading from simulator?
- tar -czvf data.tgz -C ./build/plugins/2017.3032/lua .
makeself not work well
makeself plugin_bundle/ kwikEditor_plugin_installer.sh "Solar2D Plugin Installer" ./installer.sh