Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Предложения по добавлению/изменению тэга <code>

 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Перспективы формата FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


LazyRoot
Новенький участник форума

Новенький участник форума

Зарегистрирован: 25.01.2007
Сообщения: 25

СообщениеДобавлено: Вт Мар 27, 2007 10:39    Заголовок сообщения: Предложения по добавлению/изменению тэга <code> Ответить с цитатой

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

Преамбула.
в текущей версии формата fb2 уже есть тэг <code>, но он не пригоден для включения в документы реальных листингов,
так как листниги не являются частью абзаца документа, а являются самостоятельной структурной единицей.
Добавления этого тэга позволит использовать формат fb для публикаций компьютерного профиля.А этот значит формат будет шире
распространятся среди ITшников
и неизбежно увеличится количество разработчиков программ для fb2.


Предложение
Предлагается схему документа и удалить старый(стилевой) тэг <code> и добавить структурный тэг <code>
с атрибутом lang .

Пример:

----------------------------
<section>
<title>
<p>Листинг 3: PHP</p>
</title>
<code lang="PHP">
&lt;?php
// Hello World in PHP
echo 'Hello World!';
?&gt;
</code>
---------------------------

Реализация поддержки тэга <code> в конверторах и браузерах.
1)При отображении исходников программ все пробелы(кроме концевых), должны быть сохранены,
концевые пробелы строк должны быть отсечены.
2) Для просмотра на маленьких экранах можно реализовать автоперенос длинных строк посимвольно (первый неуместившийся символ переносится на следующую строку). Перед первым символом пернесённой строки нужно высвечивать специальный символ -признак переноса(например >) желательно выделить его другим фоном, чтобы сохранялась читабельность листинга
3) Отображать содержимое желательно шрифтом с фиксированной шириной символов(по возможности).

Пример документа с листингами
-----------------------------------
<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<description>
<title-info>
<genre>comp_programming</genre>
<author>
<first-name>Ленивый</first-name>
<last-name>Админ</last-name>
</author>
<book-title> hello world на популярных языках программирования</book-title>
<annotation>
<p>Пример использования тэга &lt;code&gt;</p>
</annotation>
<date></date>
<lang>ru</lang>
</title-info>
<document-info>
<author>
<first-name></first-name>
<last-name></last-name>
</author>
<program-used>gvim 7.0 </program-used>
<date value="2007-03-27">2007-03-27</date>
<id>5F6B2EAE-EFDC-41AD-9685-348A0577E3AA</id>
<version>1.0</version>
</document-info>
</description>
<body>
<title>
<p>Программа hello world на популярных языках программирования</p>
</title>
<section>
<title>
<p>Листинг 1: C-Ansi</p>
</title>
<code lang="C">
/* Hello World in C, Ansi-style */
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int main(void)
{
puts("Hello World!");
return EXIT_SUCCESS;
}</code>
</section>
<section>
<title>
<p>Листинг 2:Perl</p>
</title>
<code lang="Perl">
# Hello world in perl
print "Hello World!\n";
</code>
</section>
<section>
<title>
<p>Листинг 3: PHP</p>
</title>
<code lang="PHP">
&lt;?php
// Hello World in PHP
echo 'Hello World!';
?&gt;
</code>
</section>
<section>
<title>
<p>Листинг 4: Python</p>
</title>
<code lang="Python">
# Hello World in Python
print "Hello World"
</code>
</section>
</body>
</FictionBook>
--------------------------------
Что скажет народ ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Вт Мар 27, 2007 12:42    Заголовок сообщения: Ответить с цитатой

Я - за. Мне такой вариант нравится.
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Вт Мар 27, 2007 15:46    Заголовок сообщения: Ответить с цитатой

Не, два принципиально разных тега с одним названием это не есть хорошо. Тогда уж нужно ввести еще один тег, к примеру pre, который будет очевидным близнецом html_ного pre.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Вт Мар 27, 2007 16:08    Заголовок сообщения: Ответить с цитатой

GribUser, а зачем он в текущем виде? Кто им пользуется? Речь идет об отказе от нынешнего вариата в пользу предложеного.
Хотя твой вариант тоже хорош.
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Вт Мар 27, 2007 18:25    Заголовок сообщения: Ответить с цитатой

Цитата:
Для просмотра на маленьких экранах можно реализовать автоперенос длинных строк посимвольно (первый неуместившийся символ переносится на следующую строку). Перед первым символом пернесённой строки нужно высвечивать специальный символ -признак переноса(например >) желательно выделить его другим фоном, чтобы сохранялась читабельность листинга


а не логичней ли показывать специальный символ начала строки, а в месте переноса этот символ отсутствует? Еще в качестве предложения можно добавить атрибут нужности нумерации строк в листинге. Есть атрибут - вставляем номер строки, нет атрибута - просто спец символ начала строки.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


LazyRoot
Новенький участник форума

Новенький участник форума

Зарегистрирован: 25.01.2007
Сообщения: 25

СообщениеДобавлено: Ср Мар 28, 2007 7:38    Заголовок сообщения: Ответить с цитатой

Цитата:

а не логичней ли показывать специальный символ начала строки, а в месте переноса этот символ отсутствует? Еще в качестве предложения можно добавить атрибут нужности нумерации строк в листинге. Есть атрибут - вставляем номер строки, нет атрибута - просто спец. символ начала строки.

Да можно и так, только количество перенесённых строк всегда не больше общего количества строк, а во-многих случаях их(длинных строк ) будет немного, лично мне признак начала строки будет мозолить глаза.
В принципе было бы логично, если этот символ будет номером строки. Так так поступает,например, vim.Но тут вот какой вопрос: нумерацию строк часто используют в книгах для описания кода. Например, так
&amp;quot;В строках 10-23 наша программа вычисляет коэффицент счастья на душу населения
&amp;quot;
Но не всегда она нужна.И фрагменты программ могут нумероваться не с 1.
На мой вкус нумерацию можно оставлять внутри
тэга &amp;lt;code&amp;gt; если это необходмо, а перегружать fb разными тэгами\атрибутами мне кажется не нужно.Если кому-то потребуется сложное форматирование документа, то для этого есть docbook или ditta- специальные(и очень сложные ) форматы для электронных публикаций их сложность практически непосильна тем у кого нет пары месяцев на разборку с этими форматами и ещё пары месяцев для получения качественных печатных выходных документов.

Добавлено спустя 15 минут 18 секунд:

GribUser писал(а):
Не, два принципиально разных тега с одним названием это не есть хорошо. Тогда уж нужно ввести еще один тег, к примеру pre, который будет очевидным близнецом html_ного pre.

Как справедливо заметила Marina_Ch, нынешний тэг сode практически бесполезен и его можно убрать вовсе.
Что касается введения тэга pre то его конечно можно добавить, правда, хотелось бы понять для каких целей пользователи будут использовать этот тэг.
Боюсь, что если в ридерах появится его поддержка, то через некотрое время мы увидим массу книжек с lib.ru, где весь текст будет неструктурированно загнан внутрь &lt;pre&gt;.
P.S. Я очень высоко оцениваю потенциал fb2.
Отцу -основателю большой риспект и лучшие вишесы Smile

Добавлено спустя 4 минуты 12 секунд:

Marina_Ch писал(а):
Я - за. Мне такой вариант нравится.

Спасибо за поддержку Marina_Ch.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Ср Мар 28, 2007 11:39    Заголовок сообщения: Ответить с цитатой

LazyRoot писал(а):
Боюсь, что если в ридерах появится его поддержка, то через некотрое время мы увидим массу книжек с lib.ru
Вот-вот.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Чт Мар 29, 2007 8:46    Заголовок сообщения: Ответить с цитатой

GribUser писал(а):
Тогда уж нужно ввести еще один тег, к примеру pre, который будет очевидным близнецом html_ного pre.

Код pre имеет совсем другой смысл и к листингам не имеет никакого отношения. Вредно вводить теги, смысл которых можно истолковать широко и неправильно. Речь идет об изменении тега code и добавлении обязательного атрибута lang. Я всецело поддерживаю, тем более, что это изначально было моим предложением. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


LazyRoot
Новенький участник форума

Новенький участник форума

Зарегистрирован: 25.01.2007
Сообщения: 25

СообщениеДобавлено: Ср Апр 04, 2007 8:55    Заголовок сообщения: Ответить с цитатой

Admin писал(а):

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

Да именно так, речь идёт только о добавлении тэга code. Никаких тэгов pre добавлять не нужно.
Вопрос очень простой, сегодня fb непригоден для технических книг даже на уровне спецификации,
введение тэга code и поддержка таблиц делают этот формат более универсальным и конкурентноспособным.На сегодня mobipocket позволяет форматировать таблицы и код, и поэтому технические книги в нём делать можно.
Довольно большое количество технических мануалов можно найти в формате iSilo.Но это всё закрытые форматы и их невозможно конвертировать во-что-то ещё.Реализовывать такой функционал в читалках\конвертерах fb2 при отсутствии стандарта кажется неправильным.
А что мешает внести изменения?
Цитата:
Я всецело поддерживаю, тем более, что это изначально было моим предложением. Smile

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

Добавлено спустя 22 минуты 26 секунд:

GribUser писал(а):
LazyRoot писал(а):
Боюсь, что если в ридерах появится его поддержка, то через некотрое время мы увидим массу книжек с lib.ru
Вот-вот.

Ну и не нужен он вовсе...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Перспективы формата FB Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group