Так, инфа с поля боя, пока двигался к monkey, по пути немного поизучал python, и написал плагин для Sublime Text 2, который компилит monkey проект, копирует папку с билдом в папку с апачем (настраивается в плагине, dest переменная), и открывает стандартным броузером ссылку на проект.
Очень доволен собой, т.к. с python никогда не имел дело.
Вот код плагина, чтобы его заюзать, нужно в Sublime сходить в Tools > New Pluggin, затем вставить этот код:
import sublime, sublime_plugin
import os.path, shutil, errno
import webbrowser
from subprocess import call
def copyfolder(src, dst):
try:
shutil.rmtree(dst, True)
shutil.copytree(src, dst)
return True
except OSError as exc:
sublime.error_message(errno.errorcode[exc.errno])
if exc.errno == errno.ENOTDIR:
shutil.copy(src, dst)
else: raise
class MonkeyBuildCommand(sublime_plugin.TextCommand):
def run(self, edit):
if self.view.file_name() and os.path.splitext(self.view.file_name())[1] == ".monkey":
call(["trans_winnt.exe", "-target=html5", self.view.file_name()])
folder = os.path.splitext(self.view.file_name())[0]
projectName = os.path.basename(folder)
folder += ".build\\html5"
dest = "C:\\wamp\\www\\monkey\\" + projectName
if copyfolder(folder, dest):
sublime.status_message("project copied")
os.rename(dest + "\\MonkeyGame.html", dest + "\\index.html")
sublime.status_message("html file renamed")
webbrowser.open_new_tab("http://localhost/monkey/" + projectName)
else:
sublime.error_message("project copying error")
else:
sublime.error_message("could not run for non .monkey files")
Очень важны табы, т.к. это python.
Далее охраняем это куда либо в папку Packages для Sublime. Её найти можно если сходить в Preferences > Browse Packages..
Далее идём в Preference > Key Binding User..
И там добавляем вот такую строку:
{ "keys": ["ctrl+m"], "command": "monkey_build" }
Не забываем отбиндить другой хоткей на эту же кнопку, идём в Preferences > Key Bindings Default, и ищём "ctrl+m", комментим всю строку с этим хоткеем.
Далее нужно чтобы в системе был добавлен Path на папку с trans_winnt.exe, он лежит в monkey/bin/.
Готово. Открываем любой .monkey файл, и жмём ctrl+m.
Если редактировали плагин, там важно что будет применяться функция удаления папки и всего содержимого, если намудрите чего, удалит не то. Так что на ваш страх и риск, я ответсвенности не несу :D
Данный модуль можно адаптировать под другие target'ы.
В общем сказка - билдит проект, и копирует всё в папку с веб файлами апача и запускает в броузере..
Зачем мне это нужно? Для того чтобы тестировать веб сокеты и т.п. дребедень. Файлы с всякой хренью для тестов я буду хранить на апаче. В .httaccess настрою чтобы при переходе в localhost/socket/ перенаправлял на nodejs, который выдаст socket.io.js файл для коммуникации с сервером. Таким образом у меня будет публично доступная последняя версия игры работающая с веб сокетами.
Теперь мне нужно заняться модулем для socket.io