devel.xml

14 messages Options
Embed this post
Permalink
ygrek-3

devel.xml

Reply Threaded More More options
Print post
Permalink
Всем привет,
 
 Рассказываю о последних изменениях в документации SPF_DEVEL - список
часто используемых либ.
 Раньше было два текста в markdown для английской и русской версии,
которые автоматически конвертировались на сервере в HTML. Это было
неудобно потому что
 1) приходилось много писать повторяющегося текста и оформления при
добавлении каждой либы
 2) сложно и неудобно синхронизировать две версии для двух языков.
 3) в онлайн версии ссылки вели не туда куда надо (так как рассчитано
было в первую очередь для локального просмотра в дистре)

Решение проблем, уже в docs :)
 Один толстый devel.xml, который для каждой либы содержит только
необходимую информацию - путь, слово, описание на обоих языках.
 HTML автоматически генерируется XSLT скриптом tools/xsl/devel.xsl
(на сервере - каждый час в случае если были изменения). При вызове с
параметром usage=local генерируется локальная документация, при
usage=web ссылки ведут на http://forth.org.ru и добавляется SF
logo. Параметр lang определяет язык который будет использоваться.

 Также этот xml будет служить списком либ для ~ygrek/doc/docbook/devel.docbook.

 Вообщем призываю всех следить за актуальностью этого списка, добавлять
либы (я добавлял по принципу - что сам использовал/проверил, поэтому
мог обойти некоторые либы вниманием :)

--
 wbr, ~ygrek


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (196 bytes) Download Attachment
azekeprofit

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
1. Предлагаю добавить или атрибут или тэг, в общем, некий знак
обозначающий "обёрточность". Для обёрток к XML, expat, zlib, bregexp,
sqlite, 7-zip. Возможно, стоит ставить ссылки на обёртываемые
библиотеки.
2. Сделать тэг <doc></doc> или ещё что-то подобное, для обозначения
тех редких случаев когда у нас есть некое или описание к библиотеке
(не которое в самом исходнике, вперемежку с кодом, а которое
нормальное) или аж документация. Пути туда давать через <path></path>
--  т. е. давать (принципиально) только то, что уже в дистре (оно же
-- на CVS). Как вариант -- сделать атрибут для тэга <path>, а в
выводимом html-исходнике помечать ссылку иконкой.
3. Аналогичное предложение с рабочими, запускающими примерами кода
(опять же в тех случаях когда они отделены).

Для обоих последних случаев надо учитывать что примеров (описаний)
может быть несколько.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Ruvim Pinka

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
Привет!

On 8/27/07, Azamadt Smaguloff <[hidden email]> wrote:
1. Предлагаю добавить или атрибут или тэг, в общем, некий знак
обозначающий "обёрточность". Для обёрток к XML, expat, zlib, bregexp,
sqlite, 7-zip. Возможно, стоит ставить ссылки на обёртываемые
библиотеки.
2. Сделать тэг <doc></doc> или ещё что-то подобное, для обозначения
тех редких случаев когда у нас есть некое или описание к библиотеке
(не которое в самом исходнике, вперемежку с кодом, а которое
нормальное) или аж документация. Пути туда давать через <path></path>
--  т. е. давать (принципиально) только то, что уже в дистре (оно же
-- на CVS). Как вариант -- сделать атрибут для тэга <path>, а в
выводимом html-исходнике помечать ссылку иконкой.
3. Аналогичное предложение с рабочими, запускающими примерами кода
(опять же в тех случаях когда они отделены).

Элемет link (есть и в XHTML 2.0) хорошо отвечает по всем пунктам.
Еще, предлагаю заменить word на key и path на src. Обобщенный пример:

<lib>
  <key>word</key>
  <src>pathname</src>
  <comment><ru> A </ru>  <en> B </en></comment>
  <link rel="wrap" href="uri to dll manual" xml:lang="ru|en|enc">caption</link>
  <link rel="manual" href="" xml:lang="ru|en|etc">caption</link>
  <link rel="example" href="" >caption</link>
  <link rel="example" href="" >example 2</link>
</lib>

Опциональные атрибуты xml:lang, type="mime-type", charset="encoding", title="short hint".

--
Ruvim
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
ygrek-3

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
In reply to this post by azekeprofit
Привет,

> 1. Предлагаю добавить или атрибут или тэг, в общем, некий знак
> обозначающий "обёрточность". Для обёрток к XML, expat, zlib, bregexp,
> sqlite, 7-zip. Возможно, стоит ставить ссылки на обёртываемые
> библиотеки.

Да, думаю это будет полезно, со ссылкой на где эту дллку можно взять.

> 2. Сделать тэг <doc></doc> или ещё что-то подобное, для обозначения
> тех редких случаев когда у нас есть некое или описание к библиотеке
> (не которое в самом исходнике, вперемежку с кодом, а которое
> нормальное) или аж документация. Пути туда давать через <path></path>
> --  т. е. давать (принципиально) только то, что уже в дистре (оно же
> -- на CVS). Как вариант -- сделать атрибут для тэга <path>, а в
> выводимом html-исходнике помечать ссылку иконкой.
> 3. Аналогичное предложение с рабочими, запускающими примерами кода
> (опять же в тех случаях когда они отделены).
> Для обоих последних случаев надо учитывать что примеров (описаний)
> может быть несколько.
Это по-моему уже overkill..
Как их визуально показывать? - слишком много места займёт.

ЗЫ Там в некоторых местах есть использование path внутри comment в перемешку с текстом (см. пункт WinLib например) - я не умею выдирать xslt'ом такие теги, а хотелось бы..

--
 ~ygrek


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (196 bytes) Download Attachment
Yuriy Zhilovets

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
ygrek пишет:

>ЗЫ Там в некоторых местах есть использование path внутри comment в перемешку с текстом (см. пункт WinLib например) - я не умею выдирать xslt'ом такие теги, а хотелось бы..
>  
>
Покажи, что надо. Я попробую.

Ю. Жиловец

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
ygrek-3

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
Привет Юрий,

> >ЗЫ Там в некоторых местах есть использование path внутри comment в перемешку с текстом (см. пункт WinLib например) - я не умею выдирать xslt'ом такие теги, а хотелось бы..
> >  
> >
> Покажи, что надо. Я попробую.

Рувим показал как это делать, уже на cvs.

--
 ~ygrek


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (196 bytes) Download Attachment
ygrek-3

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ruvim Pinka
Привет,

> Элемет link (есть и в XHTML 2.0) хорошо отвечает по всем пунктам.
> Еще, предлагаю заменить word на key и path на src. Обобщенный пример:
>
> <lib>
>   <key>word</key>
>   <src>pathname</src>
>   <comment><ru> A </ru>  <en> B </en></comment>
>   <link rel="wrap" href="uri to dll manual"
> xml:lang="ru|en|enc">caption</link>
>   <link rel="manual" href="" xml:lang="ru|en|etc">caption</link>
>   <link rel="example" href="" >caption</link>
>    <link rel="example" href="" >example 2</link>
> </lib>
>
> Опциональные атрибуты xml:lang, type="mime-type", charset="encoding",
> title="short hint".
Как будет выглядеть ситуация когда caption на двух языках
разный? Будет два элемента link?
Как сделать линку на "локальную" документацию (собственно у нас вся
дока и примеры - локальные), т.е. чтобы обрабатывалось так как сейчас
для <path>? Может ввести два типа ссылок - локальные и глобальные? Или
атрбитом - <src target="local"> и <src target="global">?

--
 ~ygrek


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (196 bytes) Download Attachment
Ruvim Pinka

Re: devel.xml

Reply Threaded More More options
Print post
Permalink

On 9/1/07, ygrek <[hidden email]> wrote:
>   <link rel="manual" href="" xml:lang="ru|en|etc">caption</link>
>   <link rel="example" href="" >caption</link>
>   <link rel="example" href="" >example 2</link>
[...]
Как будет выглядеть ситуация когда caption на двух языках
разный? Будет два элемента link?

Да, на каждый язык/документ по отдельному элементу; т.к. ведь и документация может быть на разных языках (и урлы разные). А caption имеет смысл давать лишь на том языке, на котором документация. Элементы, для которых не установлен xml:lang, выводить безусловно (независимо от языка).

Как сделать линку на "локальную" документацию (собственно у нас вся
дока и примеры - локальные), т.е. чтобы обрабатывалось так как сейчас
для <path>?

Дык, в точности аналогично же и обрабатывать. Единственно, добавить еще вариант starts-with(., 'http://') — чтобы не делать префикс для абсолютно заданных адресов. А общую часть потом вынести в отдельный темплейт.

Правда, если этот файл-база дорастет до 100 Кб, то держать ее в одной файле уже будет неудобно (по моему).

--
Ruvim
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
azekeprofit

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
In reply to this post by ygrek-3
Сделал создание чего-то вроде рубрикации авторских наработок из DEVEL. Получая на вход devel.xml , devel-categorised.xsl (прилагается) выдаёт bat-файл, который при запуске создаёт в папке "categorised" (путь можно менять -- это параметр преобразования) структуру папок аналогичную разделам в SPF_DEVEL.

В каждой папке/разделе создаются файлы соответствующие записям в разделе (кроме записей заданных через тэг <other> ). Имя файла в папке (на данный момент) такое же как задал его автор. Уникальность имён в разделе не проверяет -- при коллизии более поздние затирают ранних (см. раздел 'random' ). Возможно, более оправданно давать имена файлам в разделе по значению тэга <key> (т.е. -- по уникальному имени).

В каждом файле -- три строчки: два языковых комментария и непосредственно вызов авторской библиотеки (через REQUIRE ).

После отработки bat-файла мы получаем примерно такие алиасы:

categorised/misc/nf-ext.f == REQUIRE enqueueNOTFOUND ~pinka/samples/2006/core/trans/nf-ext.f
categorised/files/append-file.f == REQUIRE ATTACH ~pinka/samples/2005/lib/append-file.f

devel-categorised.xsl
Ruvim Pinka

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
Привет!

On 9/21/07, azekeProfit <[hidden email]> wrote:
Сделал создание чего-то вроде рубрикации авторских наработок из DEVEL.

Команда md (WinXP SP2) не срабатывала с разделителем '/'  — подправил variable name="sectiondir", чтобы сработало.
 
[...]
Возможно, более оправданно давать имена файлам в разделе по значению тэга
<key> (т.е. -- по уникальному имени).

Тогда следует наложить ограничение, что эти имена не должны содержать символов, запрещенных для имен файлов (типа '?', '*').


После отработки bat-файла мы получаем примерно такие алиасы:

categorised/files/append- file.f == REQUIRE ATTACH ~pinka/samples/2005/lib/append-file.f

То бишь, вместо команды REQUIRE достаточно написать унифицированное имя библиотеки (лексикона, набора слов). Это развитие уровня косвенности, который ранее был предоставлен лишь ключевым словом. Данный уровень увеличивает гибкость, позволяя вместо одного файла подставить другой файл (другую реализацию, или другую версию), предоставляющий совместимый интерфейс, и с тем же ключевым словом.

Я нахожу востребованным развитие этого уровня. Отмечу, что предлагаемый в Forth200x механизм REQUIRE или аналогичные NEED*, RequireOnce, и т.п., которые обеспечивают загрузку единожды конкретного файла, — данного уровня косвенности не предоставляют.

Приведеное решение с каталогами очень простое в реализации! Однако, я предлагаю унифицированное имя строить по схеме URI, чтобы обеспечить уникальность в рамках всей Сети. Хороший пример — xmlns (пространства имен XML). Вообще же, данных подход еще требует значительной проработки.

--
Ruvim
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
azekeprofit

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
Ruvim Pinka wrote:
Тогда следует наложить ограничение, что эти имена не должны содержать символов, запрещенных для имен файлов (типа '?', '*').
Необязательно. Можно заменять запрещённые символы на безопасные для имён файлов. Несколько замен сразу напрашиваются сами собой, это '?' = q, '<' = lt, '>' = gt. Плохо здесь то что для человека реальное имя файла-алиаса становится неочевидным. А подключение можно делать и прозрачно если у нас будет спец. слово для подключения алиасов:

categorised debugging ?debug

то оно может делать нужные обратные подстановки и щупать есть ли такой файл... Нет, не годится, слишком много проблем тут вылезает: ведь соответствие не взаимно-однозначное.

Ruvim Pinka wrote:
Однако, я предлагаю унифицированное имя строить по схеме URI, чтобы обеспечить уникальность в рамках всей Сети. Хороший пример — xmlns (пространства имен XML).
Что-то вроде: http://forth.org.ru/categorised/debugging/qdebug ? Его даже можно превратить в "реальный" адрес -- если все сгенерированные алиасы положить на CVS и сделать перенаправление как сделано для devel и lib.

Вроде неплохо, но заставлять программистов писать каждый раз http://forth.org.ru/... ?

Хотя я кажется понял к чему разговор ведётся: подключение файлов через указание пространства имени в корневом элементе исходника на ForthML.

Или можно в слове categorised делать анализ devel.xml что снимает нужду в дополнительных файлах-алиасах, но добавляет зависимость от внешних xml-библиотек почти на уровень ядра (хотя есть и мой нативный вариант a-la SAX: ~profit/lib/xmlscanner.f, но там сильно недоделано).

Да пусть папка алиасов даже и является полным дублем уже имеющейся информации в devel.xml, но она всё равно должна быть полезна -- по ней удобно "ходить" и "открывать новое". Тогда как сгенерированную от devel.xml html-ную доку далеко не все прочтут (так уже "слишком много букв").

PS. Я кстати, прикинул ~profit/lib/xmlscanner.f и анализом devel.xml, нет, всё равно нужно цеплять iconv или что-то подобное, так как там кодировка UTF-8.

PPS. Если у кого файл не закачался, то: http://forth.org.ru/~profit/devel-categorised.xsl
Ruvim Pinka

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
On 9/26/07, azekeProfit <[hidden email]> wrote:
> Тогда следует наложить ограничение, что эти имена не должны содержать
> символов, запрещенных для имен файлов (типа '?', '*').
Необязательно. Можно заменять запрещённые символы на безопасные для имён
файлов.
да, действительно!
 
[...]
Вроде неплохо, но заставлять программистов писать каждый раз
http://forth.org.ru/... ?
— конечно, не годиться. Если объекты находятся в одном домене, то указывать имя этого общего домена не нужно. Тот же принцип локальности, что и в HTML-ссылках. Плюс, поддержка локальных алиасов (по смыслу типа префиксов имен в XML).

Хотя я кажется понял к чему разговор ведётся: подключение файлов через
указание пространства имени в корневом элементе исходника на ForthML.

Для обычных форт-исходников это выглядет тоже вполне решабельным, причем, с обратной совместимостью.


Да пусть папка алиасов даже и является полным дублем уже имеющейся
информации в devel.xml, но она всё равно должна быть полезна -- по ней
удобно "ходить" и "открывать новое".
Согласен. Но, чтобы "ходить" — я мечтаю о веб-сервисе, который будет отдавать исходники раскрашенными и с гиперссылками (хотя бы в местах INCLUDE и т.п.).

--
Ruvim
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
ygrek-3

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
On Wed, 26 Sep 2007 11:50:27 +0400
"Ruvim Pinka" <[hidden email]> wrote:

> On 9/26/07, azekeProfit <[hidden email]> wrote:
> >
> > > Тогда следует наложить ограничение, что эти имена не должны содержать
> > > символов, запрещенных для имен файлов (типа '?', '*').
> > Необязательно. Можно заменять запрещённые символы на безопасные для имён
> > файлов.
>
> да, действительно!

Мне это не нравится. Лучше адресоваться как сейчас по имени файла. Можно ввести
нумерацию для совпадающих имён..
1. У разных ФС могут быть разные ограничения на имена.
2. Название файла лучше идентифицирует либу чем слово, вдобавок замангленное
3. Слова тоже могут совпадать :)

> Да пусть папка алиасов даже и является полным дублем уже имеющейся
> > информации в devel.xml, но она всё равно должна быть полезна -- по ней
> > удобно "ходить" и "открывать новое".
>
> Согласен. Но, чтобы "ходить" — я мечтаю о веб-сервисе, который будет
> отдавать исходники раскрашенными и с гиперссылками (хотя бы в местах INCLUDE
> и т.п.).

Аналогично + личная страничка для отдельных либ, с ссылками на автора/доку,
с поиском по ключевым словам. Т.е. каталогизатор не ограниченный devel'ом, с возможностью
удобного добавления. Чтобы был единый источник поиска либ/примеров.
Мне вообще кажется что для такой цели лучше подошла бы система тегов, а не строгая иерархия.

--


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev

attachment0 (196 bytes) Download Attachment
Andrey Cherezov

Re: devel.xml

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Добрый день, ygrek!

Ваше сообщение от 30.09.2007 18:57:
"Ruvim Pinka" [hidden email] wrote:
  
Согласен. Но, чтобы "ходить" — я мечтаю о веб-сервисе, который будет
отдавать исходники раскрашенными и с гиперссылками (хотя бы в местах INCLUDE
и т.п.).
    
Аналогично + личная страничка для отдельных либ, с ссылками на автора/доку, 
с поиском по ключевым словам. 
Точно. И на отдельной страничке либы должен быть её собственный личный блог - история изменения :-)
Правда все это есть (cvsview), вот только без разметки. Imho, это можно на JS написать,
букмарклет такой, чтобы раскрашивал там листинг.
Т.е. каталогизатор не ограниченный devel'ом, с возможностью 
удобного добавления. Чтобы был единый источник поиска либ/примеров.
Мне вообще кажется что для такой цели лучше подошла бы система тегов, а не строгая иерархия.
  
Угу, и это тоже есть. Тэги к страничке либы можно в del.icio.us добавлять. И там же потом её искать :)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev