Bonsole

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Co myślicie o tym:
https://www.dobreprogramy.pl/Pierwsze-wydanie-Bonsole,Blog,107002.html
https://www.dobreprogramy.pl/Nowosci-w-Bonsole,Blog,107138.html

Ogólnie chodzi o trochę podobny motyw do PowerShella lub tej Uniksowej powłoki, co do niego nawiązuje (nie pamiętam nazwy - tam dane były ustrukturyzowane).
W przypadku mojego rozwiązania, program wysyła komunikat do funkcji konwertującej jego zawartość na xml, dzięki xsl. Może to również być wykorzystane do generowania widoku użytkownika. Bonsole (aplikacja) obsługuje linki, które po kliknięciu wysyłają komunikat dla aplikacji.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Prawdę mówiąc, mimo wielokrotnego przeczytania opisu, nie mam pojęcia co to robi i w jaki sposób mogłoby mi teraz usprawnić pracę.

Mógłbyś wrzucić więcej przykładów, pokazać jak połączyć istniejące aplikacje z Bonsole, wytłumaczyć interfejs itd.

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0
Patryk27 napisał(a):

Prawdę mówiąc, mimo wielokrotnego przeczytania opisu, nie mam pojęcia co to robi.

Bonsole jest projektem złożonym z programu opartym na webkicie i bibliotece dla programów, co chcą się z nim komunikować. Chodzi o to, by np. program w stylu ls nie musiał sam się troszczyć o wyjście. Biblioteka kliencka wczyta odpowiednie pliki xsl (arkusze stylów) i przekształci drzewo dokumentu zapisane w xml do postaci zdatnej do zaprezentowania użytkownikowi. Użytkownik może definiować własne arkusze stylów, by dostosowywać wygląd wyjścia.

W przyszłości użytkownik będzie móc wykorzystywać pliki xsl do tego, by przetwarzać wyjście i przesyłać je do innych programów. Przypuśćmy, że coś takiego będzie możliwe:

git status -uno --bonsole-wa-get-1-from 'normal_output' --bonsole-wa-get-1-filter '<xsl:template math="file"><xsl:value-of select="@full-path" /></xsl:template>' --bonsole-wa-get-1-fd 1 | xargs rm

To jest tylko przykład napisany na szybko i może mieć błędy. Szczególnej wagi nie przyłożyłem do arkusza xsl ( --bonsole-wa-get-1-filter ), bo nie zawiera znacznika output, prologa xml, itd. Przyznam się, że wiedzę z zakresu xsl powoli muszę sobie przyswoić.
Ps: Zamiast xargs rm warto zastosować xargs git add .

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Innymi słowy, to Bonsole ma być tym samym dla desktopu/konsoli, czym była separacja prezentacji, struktury i zachowania dla Webu. Możemy wyrzucić kod odpowiedzialny za kolorowanie wyjścia z ls i przenieść go od arkuszy stylów, by można go było później zmienić dla wszystkich podobnych programów, bez modyfikacji któregokolwiek z nich.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Teraz ma to sens :-)

Sam interfejs oraz idea wykorzystania XSLsów brzmi jednak na potwornie niewygodną - nie wyobrażam sobie pisania z palca przytoczonej przez Ciebie komendy, z której samo istotne polecenie (git status -uno | xargs rm) stanowi może dziesięć procent całej linijki (reszta to szum).

Rzuć okiem na jq oraz nushell, jeśli szukasz inspiracji w temacie prostych, idealnie nadających się do CLI składni.

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Teraz dodałem backend konsolowy. Ten filmik, prezentujący backend konsolowy jest stary. Obecnie naprawiłem bug związany z niewyświetlaniem nagłówka, gdy działamy właśnie w oparciu o ten backend.

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Dodałem obsługę formularzy. Dodałem program (przykładowy) do edycji /etc/passwd. Później dopiszę do niego wyszukiwanie rekordów i edycję grup.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.