Перейти к содержимому

Рекомендуемые сообщения

about.6c5ea71c.png


Здрассьте, господа, у нас тут превесёлая вещь случилась: спустя полгода разработки (причём круглым числом; 28 мая стартанули) у нас отрелизился репозиторий! Обозвали мы его Hel.

В репозитории мы собрали и воплотили в жизнь все хорошие идеи и концепции, которые обсуждались здесь, чтобы получился максимально кавайный способ дистрибуции пакетов.

Пользоваться репозиторием не сложнее, чем ставить программы с Pastebin. Для этого нужно знать только название пакета. Одна команда:

$ hpm install <нужный пакет>

И вуаля! Он уже установлен в нужную папку, все нужные библиотеки загружены и распиханы по системе. Можно запускать и работать.

Но по сравнению с OPPM или Pastebin, hel несравненно удобнее.
Он легковесный. Простой. Не требует регистрации. И СМС. Чем мы гордимся, безусловно.
Установка программ производится с помощью одного легкого клиента (как у Pastebin), но в то же самое время, вам не нужно волноваться о библиотеках или версиях программы. Вы всегда можете найти и установить самую свежую версию (и даже не самую свежую), зная только название пакета (как в OPPM).

Кстати, раз уж мы заговорили про OPPM. У нас клиент получился настолько охренительным, что вы можете теперь выкинуть oppm в помойку, наконец-то! В стандартный комплект поставки включён oppm-модуль с кэшированием (иными словами, вам не нужно будет ждать пару минут, пока пробрутфорсятся репозитории, сразу всё качается). Всё быстро, чётко, ясно.
Юзается оно так:

$ hpm oppm:install <имя пакета>

Об остальных фичах читайте уже в мануале hpm, там всё есть.

Изменено пользователем Fingercomp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для разработчика, который желает, чтобы мир узнал о его программе, Hel тоже имеет несколько приятных плюшек.

Зарегистрировав в два клика аккаунт на сайте, вы получаете удобный интерфейс для создания пакетов. Специально для LeshaInc у нас интерфейс оформлен в Material Design.

 

Пакет легко версионируется (мы юзаем стандарт SemVer для этого). Вы можете использовать любой другой пакет в hel (например, библиотеку) в качестве зависимости для своей программы.

Описание к пакету поддерживает разметку Markdown (включая подсветку синтаксиса Lua, MoonScript и ещё 20 языков).

Кроме того, описание можно подкрепить несколькими контент-тегами, чтобы облегчить поиск.

Останется только указать лицензию (или не указывать её вообще) и залить парочку скринов. Всё! Пакет будет тут же доступен в репе, его можно будет посмотреть и скачать.

 

Смысл репозитория — не только хранить, но и искать! Так что поиск у нас тоже есть, который вмиг отыщет из любого уголка репозитория нужный вам пакет, если он, конечно, существует.

В наличии поиск по имени/описанию, поиск по автору и поиск по контент-тегам.

 

Отдельно заметим, что сами файлы репозиторий не хранит, только метаданные пакета.

Вы можете спокойно разрабатывать свой проект в GitHub, или Pastebin, или на своём собственном хосте. А клиент hpm с помощью метаданных из репозитория будет сам скачивать нужные файлы откуда угодно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Весь проект разделён на три части:

  • Бэкенд (задний конец), называется hel, мозг этого всего безобразия. Написан на Python и хранит в единой базе данных всю инфу о пакетах. Имеется отлично документированное API, на случай если вы задумаете запилить интеграцию с репозиторием для своей программы. Подробнее на Wiki.
  • Фронтенд (передний конец), зовётся hel-face. Написан на кавайноняшном языке Elm. Это, собственно, сайт, который вы будете юзать для заливки/редактирования/пр. ваших (или чужих) пакетов.
  • Клиент для OpenComputers под именем hpm. Писалось на всеми обожаемом языке MoonScript. Лёгкий (потому он весит 161 килобайт, да, а что вы думали), но от этого не менее мощный клиент к репозиторию.

Так как мы страстно придерживаемся движения Open Source, всё: клиент, оба конца — есть на GitHub.
Вся работа организуется через Trello, мы там поддерживаем чистоту и порядок.
Репозитории подключены к Travis CI, который проверяет всё, что мы пилим.
Подпольная ирка, конечно же, основная часть всего проекта, где мы обсуждаем котиков и кавайность елма.
И, наконец, не менее подпольный форум (ссылку не надо, надеюсь?), где мы очень ждём ваших отзывов.

Обо всех глюках, багах и прочих неприятностях можно докладывать в любой из этих каналов связи. Кроме того, с удовольствием рассмотрим пулл-реквесты в Git репозиторий.

Изменено пользователем Fingercomp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А теперь раскрываем карты и показываем, как этим чудом можно пользоваться.

С мордой всё понятно: идёте на сайт, юзаете его, дивитесь эпичности проекта. Вот сам фейс, к слову.
API находится на сервере тут. Там настолько всё скучно, что по ссылке даже нет страницы. Так быть и должно: что этот сервер делает, описано в вики.

Клиент для OpenComputers требует, как ни странно, опенкомпьютер. Просто запускаете эту команду:

$ pastebin run vf6upeAN

Hpm бодренько поставится и обновится до последней стабильной версии. Если сломается hpm, перезапустите эту команду. Скорее всего, случился очередной breaking change, такое бывает.


Весь проект зарелизен под лицензией MIT.
2016 © Fingercomp, Totoro

Изменено пользователем Fingercomp
Переезд на новый хост

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отличная работа! Молодцы! :smile9:

Главное теперь, чтобы туда кто-то что-то закачивал)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мы шагаем в ногу со временем. Всемирно знаменитый пакет left-pad уже в нашей репе!

https://hel.fomalhaut.me/#packages/left-pad

ЭТО ШЕДЕВР!!!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сегодня поиграл в lava-runner, поставив его через репозиторий.

 

Ссылка на установку не заработала прямо через run, почему-то, но в два этапа всё установилось успешно.

 

 

ZlupxCY.png

 

После этого, я просто установил с репозитория игрушку, без лишних хлопот.

 

0bvQ2ol.png

 

Запускаем!

 

ck78wiD.png

 

Разумеется, добром это не кончилось. :P

 

dCyPdfJ.png

 

 

P.S. @electronic_steve, шедевральная игрушка! Но генерация пещер заставляет откладывать кирпичи иногда =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отрелизил новую версию 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 — можете юзать как образец.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
...

Я вот что подумал, а если сделать не просто манифест, а сборочный скрипт, в манифесте пишется код с помощью предоставленной hpm API, а потом уже в пакет записывается результат работы скрипта, как тебе идея?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какая разница, всё равно hpm в любом случае нужен. Только сейчас достаточно одной команды, а у тебя надо две — сборка и установка.

Если надо сборку — фигачь скрипт на луа и запускай перед установкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновление 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@@Fingercomp,@@Totoro, кстати, парни, может есть смысл добавить какой-то не такой агрессивный лого в репку. А то не знаю, как у кого, но у меня есть скрытое глубинное ощущение, что я попадаю на какой-то адский сатанинский сайтик непонятный. Может уберем этого рогатого сайгака, как думаете? Или он несет какой-то сакральный смысл и этого делать нельзя ни в коем случае?

 

п.с. набросал черновичок. Например, вот что-то такое запихать https://puu.sh/tnEX6/89ad0306a0.png  или любой другой сделать.

Будет оно как-то так примерно выглядеть https://puu.sh/tnCO9/a49b3a1e6c.png

Можно, конечно, если хотите, добавить кровяшки всякой туда для антуража, если уж любите экстрим какой-то адский. Как думаете, есть смысл? Или оставим сайгака для устрашения детишек?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Симпатичная кругляшка, но на логотип надо что-то другое, мне кажется.

 

Хель вообще - скандинавская богиня, повелительница мира мёртвых и дочь Локи.

Так что логотип у нас не ради кровищи или адского экстрима, а чтобы соответствовать общему духу.

 

Я ещё подумаю над альтернативами и открыт для предложений.

Если получится изобразить что-то в хтонически-кибернетическом духе, мне кажется будет самое то.  :D

Изменено пользователем Totoro

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Хель вообще - скандинавская богиня, повелительница мира мёртвых и дочь Локи. Так что логотип у нас не ради кровищи или адского экстрима, а чтобы соответствовать общему духу.

поооонял...

Только вот как скандинавские боги Одины и Хели с Локой связаны с репкой луа программусек? :)  Откуда вообще зародилась легенда о репке и откуда растут корни? Это становится все интереснее)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

поооонял...

Только вот как скандинавские боги Одины и Хели с Локой связаны с репкой луа программусек? :)  Откуда вообще зародилась легенда о репке и откуда растут корни? Это становится все интереснее)))

 

А я уже даже и не помню, с чего оно начиналось. Надо у Фингера спросить.

Локи у нас на сервере был, кстати, за местного бога.

Ну а Хель охраняет кладбище заброшенных проектов.  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Небольшой обзор от независимого блоггера:

 

Hel Repository: Если не хватает Pastebin

 

Учимся распространять программы как большие дяди.  :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тем временем репозиторий потихоньку подбирается к релизу.

Пофикшена куча багов, и добавлено много плюшек. Сделаю подробный чейндж-лист к релизу.

 

А пока - самое наверное заметное нововведение за последнее время: мы добавили локализацию репы:D

Теперь, если у вас есть зарегистрированный аккаунт вы можете зайти в профиль и переключить язык на русский

(или на английский обратно).

 

PYMP14N.png

 

После этого все надписи во всех интерфейсах поменяются на русские (или английские). Но это ещё не все!  :)

 

Теперь стали доступны специальные языковые теги, которые можно использовать в любом поле с описанием

(подпись к скрину, или описание пакета, или список изменений версии).

Выглядит это так (на примере краткого описания к голографическому редактору):

<en>Hologram editor tool
<ru>Редактор голограмм

Если в список пакетов зайдёт пользователь, у которого в настройках включена английская локаль - он увидит только первую строку.

Если пользователь с русской локалью - только вторую строку.

 

Работает это так: весь текст после такого тега становится видимым только тем пользователям, у которых включена указанная локаль.

Весь текст после тега <--> будет виден всем (с любой локалью). С такого тега неявно начинаются все описания.

 

Проверить как это работает вы можете на двух моих пакетах (остальные пока не локализованы).

https://hel.fomalhaut.me/#packages/holo

https://hel.fomalhaut.me/#packages/toremi

Попробуйте позаходить на эти странички и попереключать язык в профиле.
 

 

Вот в общем и всё. Локализация ещё сыровата. Если попадётся какой-то глюк - смело пишите сюда (или в личку, IRC, issues на Github).

Сейчас параметр выбранного языка сейвится в local storage, поэтому в каждом браузере у вас может быть выбран свой язык.  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сегодня мы начали переезд. Не без усилий перенесли задний конец на хост @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, поэтому самое время протестировать обновления. Прошу сообщать о найденных багах или проблемах, как обычно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...