Fingercomp 4 409 Опубликовано: 28 ноября, 2016 (изменено) Здрассьте, господа, у нас тут превесёлая вещь случилась: спустя полгода разработки (причём круглым числом; 28 мая стартанули) у нас отрелизился репозиторий! Обозвали мы его Hel.В репозитории мы собрали и воплотили в жизнь все хорошие идеи и концепции, которые обсуждались здесь, чтобы получился максимально кавайный способ дистрибуции пакетов.Пользоваться репозиторием не сложнее, чем ставить программы с Pastebin. Для этого нужно знать только название пакета. Одна команда: $ hpm install <нужный пакет> И вуаля! Он уже установлен в нужную папку, все нужные библиотеки загружены и распиханы по системе. Можно запускать и работать.Но по сравнению с OPPM или Pastebin, hel несравненно удобнее.Он легковесный. Простой. Не требует регистрации. И СМС. Чем мы гордимся, безусловно.Установка программ производится с помощью одного легкого клиента (как у Pastebin), но в то же самое время, вам не нужно волноваться о библиотеках или версиях программы. Вы всегда можете найти и установить самую свежую версию (и даже не самую свежую), зная только название пакета (как в OPPM).Кстати, раз уж мы заговорили про OPPM. У нас клиент получился настолько охренительным, что вы можете теперь выкинуть oppm в помойку, наконец-то! В стандартный комплект поставки включён oppm-модуль с кэшированием (иными словами, вам не нужно будет ждать пару минут, пока пробрутфорсятся репозитории, сразу всё качается). Всё быстро, чётко, ясно.Юзается оно так: $ hpm oppm:install <имя пакета> Об остальных фичах читайте уже в мануале hpm, там всё есть. Изменено 20 января, 2017 пользователем Fingercomp 9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 28 ноября, 2016 Для разработчика, который желает, чтобы мир узнал о его программе, Hel тоже имеет несколько приятных плюшек. Зарегистрировав в два клика аккаунт на сайте, вы получаете удобный интерфейс для создания пакетов. Специально для LeshaInc у нас интерфейс оформлен в Material Design. Пакет легко версионируется (мы юзаем стандарт SemVer для этого). Вы можете использовать любой другой пакет в hel (например, библиотеку) в качестве зависимости для своей программы. Описание к пакету поддерживает разметку Markdown (включая подсветку синтаксиса Lua, MoonScript и ещё 20 языков). Кроме того, описание можно подкрепить несколькими контент-тегами, чтобы облегчить поиск. Останется только указать лицензию (или не указывать её вообще) и залить парочку скринов. Всё! Пакет будет тут же доступен в репе, его можно будет посмотреть и скачать. Смысл репозитория — не только хранить, но и искать! Так что поиск у нас тоже есть, который вмиг отыщет из любого уголка репозитория нужный вам пакет, если он, конечно, существует. В наличии поиск по имени/описанию, поиск по автору и поиск по контент-тегам. Отдельно заметим, что сами файлы репозиторий не хранит, только метаданные пакета. Вы можете спокойно разрабатывать свой проект в GitHub, или Pastebin, или на своём собственном хосте. А клиент hpm с помощью метаданных из репозитория будет сам скачивать нужные файлы откуда угодно. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp Автор темы 4 409 Опубликовано: 28 ноября, 2016 (изменено) Весь проект разделён на три части: Бэкенд (задний конец), называется hel, мозг этого всего безобразия. Написан на Python и хранит в единой базе данных всю инфу о пакетах. Имеется отлично документированное API, на случай если вы задумаете запилить интеграцию с репозиторием для своей программы. Подробнее на Wiki. Фронтенд (передний конец), зовётся hel-face. Написан на кавайноняшном языке Elm. Это, собственно, сайт, который вы будете юзать для заливки/редактирования/пр. ваших (или чужих) пакетов. Клиент для OpenComputers под именем hpm. Писалось на всеми обожаемом языке MoonScript. Лёгкий (потому он весит 161 килобайт, да, а что вы думали), но от этого не менее мощный клиент к репозиторию. Так как мы страстно придерживаемся движения Open Source, всё: клиент, оба конца — есть на GitHub.Вся работа организуется через Trello, мы там поддерживаем чистоту и порядок.Репозитории подключены к Travis CI, который проверяет всё, что мы пилим.Подпольная ирка, конечно же, основная часть всего проекта, где мы обсуждаем котиков и кавайность елма.И, наконец, не менее подпольный форум (ссылку не надо, надеюсь?), где мы очень ждём ваших отзывов.Обо всех глюках, багах и прочих неприятностях можно докладывать в любой из этих каналов связи. Кроме того, с удовольствием рассмотрим пулл-реквесты в Git репозиторий. Изменено 12 февраля, 2017 пользователем Fingercomp 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 28 ноября, 2016 (изменено) А теперь раскрываем карты и показываем, как этим чудом можно пользоваться.С мордой всё понятно: идёте на сайт, юзаете его, дивитесь эпичности проекта. Вот сам фейс, к слову.API находится на сервере тут. Там настолько всё скучно, что по ссылке даже нет страницы. Так быть и должно: что этот сервер делает, описано в вики.Клиент для OpenComputers требует, как ни странно, опенкомпьютер. Просто запускаете эту команду: $ pastebin run vf6upeAN Hpm бодренько поставится и обновится до последней стабильной версии. Если сломается hpm, перезапустите эту команду. Скорее всего, случился очередной breaking change, такое бывает.Весь проект зарелизен под лицензией MIT.2016 © Fingercomp, Totoro Изменено 5 апреля, 2017 пользователем Fingercomp Переезд на новый хост 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 28 ноября, 2016 Отличная работа! Молодцы! Главное теперь, чтобы туда кто-то что-то закачивал) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ivan52945 75 Опубликовано: 28 ноября, 2016 я уже думал не доживукрасавцы, чё сказать)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 28 ноября, 2016 Мы шагаем в ногу со временем. Всемирно знаменитый пакет left-pad уже в нашей репе! https://hel.fomalhaut.me/#packages/left-pad Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ivan52945 75 Опубликовано: 28 ноября, 2016 Мы шагаем в ногу со временем. Всемирно знаменитый пакет left-pad уже в нашей репе! https://hel.fomalhaut.me/#packages/left-pad ЭТО ШЕДЕВР!!!!!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 29 ноября, 2016 Сегодня поиграл в lava-runner, поставив его через репозиторий. Ссылка на установку не заработала прямо через run, почему-то, но в два этапа всё установилось успешно. После этого, я просто установил с репозитория игрушку, без лишних хлопот. Запускаем! Разумеется, добром это не кончилось. :P P.S. @electronic_steve, шедевральная игрушка! Но генерация пещер заставляет откладывать кирпичи иногда =) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp Автор темы 4 409 Опубликовано: 2 декабря, 2016 Отрелизил новую версию hpm с одной очень сочной и полезнейшей фичей. Есть проекты с огромным количеством всяких файлов, зависимостей, типа OpenNet. И так это неудобно держать в адекватном состоянии. Теперь есть решение. В папке с проектом создаём файл manifest со следующим примерным содержанием: {name="name-of-program", version="1.0.5-dev", dependencies={ {name="logging", version="^1,!=1.5", type="required"}, {name="network", version="^2", type="required"} }, files={ {url="путь/относительно/манифеста/script.lua", dir="/usr/bin", name="script.lua"}, {url="путь/относительно/манифеста/another-file.lua", dir="/usr/lib/program", name="another-file.lua"} }} Теперь это всё дело пакуем (через tar) и шлём друзьям. Те распаковывают и просто запускают эту команду: $ hpm install -l . (вместо точки путь к папке с манифестом) Вуаля! И зависимости все скачались, и прога поставилась. Теперь можно юзать. А вот вариант, если нужно только зависимости накатить, а саму прогу не трогать: $ hpm install -ld . Мы фичу уже юзаем в репе UT: https://github.com/cc-ru/ut-server/blob/master/manifest — можете юзать как образец. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 3 декабря, 2016 ... Я вот что подумал, а если сделать не просто манифест, а сборочный скрипт, в манифесте пишется код с помощью предоставленной hpm API, а потом уже в пакет записывается результат работы скрипта, как тебе идея? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp Автор темы 4 409 Опубликовано: 4 декабря, 2016 А какая разница, всё равно hpm в любом случае нужен. Только сейчас достаточно одной команды, а у тебя надо две — сборка и установка. Если надо сборку — фигачь скрипт на луа и запускай перед установкой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp Автор темы 4 409 Опубликовано: 15 января, 2017 Обновление hpm до версии 1.1.0 с кучей очень и очень нужных фич! Теперь для установки пакета OpenPrograms нужно писать не install oppm:package, а oppm:install package. То же с remove. Это позволило мне существенно упросить код. Вместо save теперь нужно давать ключик -s к install. Добавлена команда hel:upgrade, так что теперь обновляться проще простого! Добавлены команды hel:search и oppm:search. Без аргументов принтят список всех пакетов, аргументы фильтруют его. Добавлена команда oppm:info по типу hel:info. Исправлена фигня с планами, возникавшая при передаче нескольких пакетов для установки или удаления. При переустановке пакета зависимые от него пакеты теперь не удаляются. Билды хпма теперь минифицируются отличнейшей прогой LuaMinify. Вместо 192 килобайт кода клиент теперь весит всего лишь 75. Минификатор охренненейший: он даже имена переменных минифицирует. Гораздо круче Crunch или, уж тем более, минификатора, торчащего в меню. Рекомендую. Теперь планы изменений подтверждаются автоматически, только если изменений нет вообще. Пофикшено несколько других багов. Устанавливать с помощью команды в посте #4. Потом можно будет просто прописывать hpm upgrade. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 15 января, 2017 @@Fingercomp,@@Totoro, кстати, парни, может есть смысл добавить какой-то не такой агрессивный лого в репку. А то не знаю, как у кого, но у меня есть скрытое глубинное ощущение, что я попадаю на какой-то адский сатанинский сайтик непонятный. Может уберем этого рогатого сайгака, как думаете? Или он несет какой-то сакральный смысл и этого делать нельзя ни в коем случае? п.с. набросал черновичок. Например, вот что-то такое запихать https://puu.sh/tnEX6/89ad0306a0.png или любой другой сделать. Будет оно как-то так примерно выглядеть https://puu.sh/tnCO9/a49b3a1e6c.png Можно, конечно, если хотите, добавить кровяшки всякой туда для антуража, если уж любите экстрим какой-то адский. Как думаете, есть смысл? Или оставим сайгака для устрашения детишек? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 15 января, 2017 (изменено) Симпатичная кругляшка, но на логотип надо что-то другое, мне кажется. Хель вообще - скандинавская богиня, повелительница мира мёртвых и дочь Локи. Так что логотип у нас не ради кровищи или адского экстрима, а чтобы соответствовать общему духу. Я ещё подумаю над альтернативами и открыт для предложений. Если получится изобразить что-то в хтонически-кибернетическом духе, мне кажется будет самое то. Изменено 15 января, 2017 пользователем Totoro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 16 января, 2017 Хель вообще - скандинавская богиня, повелительница мира мёртвых и дочь Локи. Так что логотип у нас не ради кровищи или адского экстрима, а чтобы соответствовать общему духу. поооонял... Только вот как скандинавские боги Одины и Хели с Локой связаны с репкой луа программусек? Откуда вообще зародилась легенда о репке и откуда растут корни? Это становится все интереснее))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 16 января, 2017 поооонял... Только вот как скандинавские боги Одины и Хели с Локой связаны с репкой луа программусек? Откуда вообще зародилась легенда о репке и откуда растут корни? Это становится все интереснее))) А я уже даже и не помню, с чего оно начиналось. Надо у Фингера спросить. Локи у нас на сервере был, кстати, за местного бога. Ну а Хель охраняет кладбище заброшенных проектов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 4 февраля, 2017 Небольшой обзор от независимого блоггера: Hel Repository: Если не хватает Pastebin Учимся распространять программы как большие дяди. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 23 февраля, 2017 Тем временем репозиторий потихоньку подбирается к релизу. Пофикшена куча багов, и добавлено много плюшек. Сделаю подробный чейндж-лист к релизу. А пока - самое наверное заметное нововведение за последнее время: мы добавили локализацию репы. Теперь, если у вас есть зарегистрированный аккаунт вы можете зайти в профиль и переключить язык на русский (или на английский обратно). После этого все надписи во всех интерфейсах поменяются на русские (или английские). Но это ещё не все! Теперь стали доступны специальные языковые теги, которые можно использовать в любом поле с описанием (подпись к скрину, или описание пакета, или список изменений версии). Выглядит это так (на примере краткого описания к голографическому редактору): <en>Hologram editor tool <ru>Редактор голограмм Если в список пакетов зайдёт пользователь, у которого в настройках включена английская локаль - он увидит только первую строку. Если пользователь с русской локалью - только вторую строку. Работает это так: весь текст после такого тега становится видимым только тем пользователям, у которых включена указанная локаль. Весь текст после тега <--> будет виден всем (с любой локалью). С такого тега неявно начинаются все описания. Проверить как это работает вы можете на двух моих пакетах (остальные пока не локализованы). https://hel.fomalhaut.me/#packages/holo https://hel.fomalhaut.me/#packages/toremi Попробуйте позаходить на эти странички и попереключать язык в профиле. Вот в общем и всё. Локализация ещё сыровата. Если попадётся какой-то глюк - смело пишите сюда (или в личку, IRC, issues на Github). Сейчас параметр выбранного языка сейвится в local storage, поэтому в каждом браузере у вас может быть выбран свой язык. 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp Автор темы 4 409 Опубликовано: 5 апреля, 2017 Сегодня мы начали переезд. Не без усилий перенесли задний конец на хост @Totoro, что предоставит нам невероятную гибкость в управлении репозиторием. Старый репозиторий деактивирован. Мы уже перенесли все аккаунты и пакеты на новый хост, остаётся сейчас настроить деплой, но это уже мелочи. В связи с этим событием выпущены новые версии программ: hpm@1.1.3 -> hpm@1.1.4 Единственное изменение: обновлён адрес хоста. Обновляться с помощью $ pastebin run vf6upeAN. Старый репозиторий ведь не работает. hel@3.3.1 -> hel@3.4.0 Все пароли теперь будут солиться. Мы не храним пароли в открытом виде, поэтому мы не можем просто взять и обновить их. Вам нужно поскорее выполнить три действия: выйти из аккаунта, если вы были залогинены, и снова зайти. При авторизации сервер получит ваш пароль и сможет засолить его. После версии 4.0.0 процедура обратной совместимости будет удалена, и вы не сможете попасть в свой аккаунт, если не выполнили шаги выше. Так же я запретил заглавные буквы в именах пакетов, чтобы не возникало путаницы. Имевшиеся пакеты я обновил. hel-face@1.0.0-beta -> hel-face@1.0.0-beta+yet.another.betaОбновлён адрес хоста. Доступен по прежнему адресу. Некоторое время мы продолжим работать над репозиторием, выполняя задачи из Todo, поэтому самое время протестировать обновления. Прошу сообщать о найденных багах или проблемах, как обычно. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах