Oberon space
General Category => Общий раздел => Тема начата: valexey от Март 11, 2011, 11:30:53 am
-
по итогам обсуждения в конференции (см. [11.03.2011 1:31:49]) (http://uniobox.i2p.to/log/oberon@conference.jabber.ru/20110311.xml#rep48) придумали выложить исходники бб в виде вебстраниц с навигацией, поиском и всё такое. Собственно, подробности в логах, ну а архив с вебконтентом уже готов. Все желающие могут взять его здесь (http://dl.dropbox.com/u/9533224/bb/out.zip). В архиве каждому исходному модулю сопоставлены три файла, два в формате HTML(из разных генераторов), и один plaintext. Модули пока только стандартные, из сборки ББ, взятой отсюда (http://oberoncore.ru/blackbox/environment).
-
Ближе к полуночи выложу это дело где-нибудь рядом с форумом.
То есть в виде веб-странички, а не архива.
-
Относительно лицензии и правомочности этого дела – все абсолютно легально, лицензия не только позволяет это сделать, но и поощряет это.
Надо только будет явно указать под какой лицензией эти исходники.
Таким образом Ominc никаких притензий иметь не может, может только одобрить и поддержать :-)
-
Если только исходники, то тогда еще нормально сконвертируется.
Доку у меня не получилось в автомате хорошо сконвертить. Хотя может что изменилось за последнее время ::)
-
Ну, вначале надо хотя бы с исходниками разобраться. Имея исходники в таком виде можно уже их по разному проианализировать, проиндексировать и по разному выставить в веб.
Кроме того, можно поэкспериментировать с gpcp в плане компиляции и портирования.
-
https://sourceforge.net/projects/oberonrevival/files/BB/bb-revival-win-0.2.zip/download (https://sourceforge.net/projects/oberonrevival/files/BB/bb-revival-win-0.2.zip/download) Может пригодится.
Я первые главы документации переверстал и картинки сделал посимпатичнее. Кроме того, верстку упрощал, чтобы в перспективе в веб переводить.
-
https://sourceforge.net/projects/oberonrevival/files/BB/bb-revival-win-0.2.zip/download (https://sourceforge.net/projects/oberonrevival/files/BB/bb-revival-win-0.2.zip/download) Может пригодится.
Я первые главы документации переверстал и картинки сделал посимпатичнее. Кроме того, верстку упрощал, чтобы в перспективе в веб переводить.
А можно поподробней чем оно отличается от обычной сборки и чем оно тут будет лучше? Под рукой винды нет, поэтому не могу посмотреть что там.
-
Лучше оно красивыми картинками ;)
Создавалось оно с задумкой немного "очеловечить" ББ: тулбар, красивые иконки, некоторые подсистемы для удобной работы (Desktop, Master, Pac и т.д.), облагороженная документация (переделал только часть документов, на все ресурсов не хватило), более удобное (на мой взгляд, разумеется) меню.
В перспективе планировал HTML-версию документации (для XDS, кстати, сделал: тынц! (http://oberonrevival.sourceforge.net/docs/xds/html/index.html)).
В общем, хотелось "искаропки".
-
О как… Здорово однако.
Вообще у меня в мечтах построение как минимум построение чего-то на подобие того, что нам выдает для сишных исходников doxygen. А вообще, хотелось бы нечто вроде hackage + hayoo получить (с поправкой на языковую специфику конечно же):
http://hackage.haskell.org/packages/archive/pkg-list.html
http://holumbus.fh-wedel.de/hayoo/hayoo.html
-
Ну или QuickLisp (http://quicklisp.org) с ASDF.
-
Ну, акцент таки не на скачивании пакетов и установке, а в анализе того что есть прямо через веб. Чтобы понять стоит лепить лисапед, или таки уже все украдено до нас.
-
Ну уж не до хорошего ;)
Хотя бы автозакачка с инсталляцией нормальной. Потом уж и до индексации дойти можно.
А вообще, может таки научить компилятор понимать просто текст да родные модули перевести в plain text? Тогда проблем с конвертацией не будет.
-
Можно. Можно и так и эдак, вообще тут задачи довольно независимые. Мне лично интересно проанализировать текущие исходники и получить на выходе нечто похожее на выхлоп от doxygen'a.
Ну и, пока анализировать нечем, просто выложу то что есть рядом с форумом, чтобы оно было читабельно и индексировалось гуглом.
Кому-то может интересно что-то другое в этом направлении делать – делайте. Опыт крайне полезный и весьма интересный в любом случае. И вообще дело полезное.
Язык высунутый в веб имеет существенно больше шансов на успех.
-
надо ещё механизм удобного пополнения коллЭкции сырцов своими. может, какой mercurial или git приспособить?
-
надо ещё механизм удобного пополнения коллЭкции сырцов своими. может, какой mercurial или git приспособить?
Хорошая идея. Надо будет подумать в эту сторону.
-
Нус, для начала я выложил исходники (без html'ей конечно) на github'e. Там вам и онлайн просмотре исходников, и добавлять/изменять можно:
https://github.com/valexey/BlackBox-Component-Builder
-
Выложил статичные html'ки исходников, как и обещал, рядом с форумом: http://oberon.talk4fun.net/WeBB/
Дерево каталогов прилагается (вроде бы даже удобней чем на github'e).
-
Дас, вот тут то ( http://oberon.talk4fun.net/WeBB/ ) мы и будем потихоньку всячески извращаться в плане раскрашивания исходников, выставления гиперссылок и так далее.
-
Откровенно говоря, я не понимаю смысл этой затеи. Исходники и так всем доступны, а в офф-лайне работать с ними намного удобнее.
Но если уж дело на то пошло, то выскажу одно маленькое замечание: в Оберонах принято делать отступы шириной два символа, а не восемь как в Си.
-
Откровенно говоря, я не понимаю смысл этой затеи. Исходники и так всем доступны, а в офф-лайне работать с ними намного удобнее.
Тут четыре резона:
1) Чтобы исходники проиндексировали поисковики.
2) Чтобы можно было их посмотреть даже если под рукой нет ББ.
3) Можно на форуме (или джаббер-конфе) например давать прямые ссылки на обсуждаемый участок кода (пока детализация плохая -- на уровне файлов, потом будет на уровне процедур и возможно строк кода).
4) В перспективе это репозиторий компонент, где можно будет посмотреть документацию на компоненты, сразу исходный код, зачем скачать это дело. С поиском (чтобы найти компонент, проверить побыстрому не наваял ли кто-нибудь нужную функциональность уже).
Ну, а кроме того, я думаю, что сумею сделать онлайн-путешествие по исходникам удобней нежели оффлайн :-)
Но если уж дело на то пошло, то выскажу одно маленькое замечание: в Оберонах принято делать отступы шириной два символа, а не восемь как в Си.
В Си принято либо два, либо четыре. В Аде три.
В КП/ЧЯ, как я понял, отступы вообще не принято мерять в символах, там табы в чистом виде (которые на символы точно не отображаются -- шрифт не моноширинный).
Посему вопрос -- сделать шрифт моноширинным? Если да, то какой отступ сделать -- два, три, или четыре символа? (лично мне по нраву четыре)
Если нет, то как выравнивать?
PS. Нужно ли раскрасить синтаксис в исходниках?
-
Да, и сейчас там явно не 8 символов на отступ, посмотри сюда: http://oberon.talk4fun.net/WeBB//Com/Mod/EnumRect.html
-
Посмотрел в исходники (те которые не html, a cp) -- там отступы сделаны табами а не пробелами. Таким образом оно будет отображаться так, как настроено отображение табов в данной конкретной отображалке.
-
Тут четыре резона:
Ну, раз кому-то это полезно, то пусть будет. (Типа, разрешил :))
У меня картина обратная: может не быть под рукой интернета, а исходники есть всегда, когда они мне нужны. По поводу будущего репозитория - да, это было бы полезно.
-
Посмотрел в исходники (те которые не html, a cp) -- там отступы сделаны табами а не пробелами.
Да, я там и смотрел...
-
У меня оные исходники текстовые выгядят вот так (см. вложения).
-
А у меня вот так:
-
Ну, если через браузер с гитхаба смотреть, то да. Гитхаб вообще не в курсе, что в исходниках бывают табы, и что файло с расширением cp это исходники а не просто какой-то текст непонятный. В принципе можно научить его понимать, что это исходники, а табы заменить на 4 пробела. :-)
-
во первых, в исходниках изначально табы. в плейнтексте соответственно тоже табы, и обратная совместимость обеспечена, хотя компилеру пофиг - не пофиг лично мне, например.
в html табы имитируются двумя(или тремя, не помню) неразрывными пробелами, потому что в чистом виде таб в html можно воткнуть особым, не очень удобным образом, через тэг <pre>. вообщем то, не вижу в этом смысла, т.к. исходники есть в плейнтексте, а html - чисто для показывания в вебе.
-
Посему вопрос -- сделать шрифт моноширинным? Если да, то какой отступ сделать -- два, три, или четыре символа? (лично мне по нраву четыре)
1. Сделать моноширинным.
2. Отсупы - два символа. Но не настаиваю, просто озвучил свою привычку, не более того. Где-то, помнится, читал такую рекомендацию от первых лиц, но не могу сейчас найти ссылку.
-
оберону не нужен моношир, достаточно шрифта без засечек
-
оберону не нужен моношир, достаточно шрифта без засечек
Да. Это скорее мои личные пристрастия, чем объективная необходимость.
-
Это вообще от ЯП не зависит :-)
-
Если у кого будет желание переработать документацию BlackBox, можете взять у меня:
BlackBox Tutorial (http://romiras.dyndns.org/doku/bbox/tutorial). Там почти готовый вариант. Можно изображения на новые заменить и выставить вместе с исходниками.
-
Если у кого будет желание переработать документацию BlackBox, можете взять у меня:
BlackBox Tutorial (http://romiras.dyndns.org/doku/bbox/tutorial). Там почти готовый вариант. Можно изображения на новые заменить и выставить вместе с исходниками.
Ух как богато!
-
А почему ссылка не открывается?
-
Ух как богато!
Да, "Димыч" молодец, и Роман М. не промах :)
-
А почему ссылка не открывается?
Какая именно?
-
Валерий, ссылка могла не открываться по той причине, что этот сервер работает на моём домашнем ПК (в виртуальной машине) и периодически мне приходится его выключать.
На всякий случай прикрепляю запакованный архив Руководства по BlackBox, BlackBox Tutorial.zip:
-
СПС.
-
Залил исходники финального BB на github: https://github.com/ilovb/BB16Final
Конвертировано в UTF8 BOM
Табы заменены на 4 пробела.
Утилита для конвертации файлов .odc в текст UTF16:
MODULE ilovbConvert;
IMPORT
Log, Files, Views, Converters;
PROCEDURE Do*;
VAR
bbloc, loc: Files.Locator;
file: Files.File;
txt: Converters.Converter;
fnamelen: INTEGER;
i, res: INTEGER;
fname: Files.Name;
flist: Files.FileInfo;
dlist: Files.LocInfo;
rd: Files.Reader;
view: Views.View;
BEGIN
txt := Converters.list;
WHILE (txt.fileType$ # "utf") & (txt.next # NIL) DO
txt := txt.next;
END;
ASSERT(txt.fileType$ = "utf");
bbloc := Files.dir.This("");
dlist := Files.dir.LocList(bbloc);
WHILE dlist # NIL DO
Log.String(dlist.name); Log.Ln;
loc := bbloc.This(dlist.name + "\Mod");
IF loc # NIL THEN
flist := Files.dir.FileList(loc);
WHILE flist # NIL DO
IF flist.type = "odc" THEN
fnamelen := LEN(flist.name$) - 4;
FOR i := 0 TO fnamelen - 1 DO
fname[i] := flist.name[i];
END;
fname[fnamelen] := 0X;
Log.Tab; Log.String(fname); Log.Ln;
view := Views.OldView(loc, flist.name);
Converters.Export(loc, fname + ".cps", txt, view);
END;
flist := flist.next;
END;
END;
dlist := dlist.next;
END;
END Do;
BEGIN
END ilovbConvert.
-
Залил исходники финального BB на github: https://github.com/ilovb/BB16Final
Раз хранилище названо "BB16Final", значит, развивать его не планируется?
В моём форке "BlackBox-Component-Framework" имеется несколько ветвей, одна из которых называется OmInc. Я складываю туда все выпуски от них, затем остальные ветви сихронизирую с ней.
Также есть ветка community-stable, в которую складываются патчи и некоторая функциональность от сообщества ББ. До сих пор, преимущественно, патчи исходили от OberonCore и частично от остальных пользователей. Теперь, с выпуском от Цинна думаю что делать дальше. Пока интегрировать его выпуск не буду, подожду как сообщество будет дальше выпускать версии ББ.
Ну а ветка "master" включает мои изменения относительно "community-stable".
Есть ещё экспериментальная ветка Linux-Gtk, которая получена путём наложения исходных кодов версии, выпущенной для GTK 1.0 в GNU/Linux. Пока ни одного коммита не было создано, так как ещё не проверял даже компиляцию.
-
Раз хранилище названо "BB16Final", значит, развивать его не планируется?
Да. От него планируется только форкаться.
-
Там же выложил релиз: https://github.com/ilovb/BB16Final/releases