Форум

Форум "Осознание" - Концепция Общественной Безопасности (http://forum.kob.su/index.php)
-   Конкретная работа. Предложения. (http://forum.kob.su/forumdisplay.php?f=6)
-   -   Полная база работ авторского коллектива ВП СССР (и сопутствующих) (http://forum.kob.su/showthread.php?t=4452)

Sirin 01.12.2011 21:59

Кстати fb2 большинства работ уже или есть или в скором времени будет.
Может в этом направлении поковырять (т.е. в базу заносить)?

В этом направлении koldun работает - он ручками конвертирует, т.е. высококачественно.

Я ему сделал доступ, будет помогать ВСЕ РАБОТЫ ВП СССР доводить до ума.

Январь 01.12.2011 22:31

Цитата:

Сообщение от Sirin (Сообщение 76169)
Кстати fb2 большинства работ уже или есть или в скором времени будет.
Может в этом направлении поковырять (т.е. в базу заносить)?

В этом направлении koldun работает - он ручками конвертирует, т.е. высококачественно.

Я ему сделал доступ, будет помогать ВСЕ РАБОТЫ ВП СССР доводить до ума.

Я вот не понимаю - fb2 - это по сути XML, можно ли его распарсить в нечто адекватное для базы?

Можно!

Но только это вопрос на столько же принципиальный, как - а можно ли html распарсить? Можно! А можно ли текстовик распарсить? Можно! А пожно ли pdf распарсить? Можно!..

То есть вопрос то по сути не о том, как это в базу загнать - с некоторой долей автоматизации загнать получится все. Вопрос в том, как это в базе организовать, как хранить, как делать поиск...

Sirin 01.12.2011 22:35

Цитата:

FB2-файл - это файл XML

FB2-документ является файлом в формате XML.

XML (англ. Extensible Markup Language — расширяемый язык разметки; произносится [икс-эм-э́л]) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий из себя свод общих синтаксических правил. XML предназначен для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями.
Вроде бы то, что нужно?..

Январь 01.12.2011 22:38

блин

Sirin 02.12.2011 00:27

:)

Шуня 02.12.2011 07:34

Переводить в fb2 достаточно емкая работа, даже если использовать специальные программы, все равно надо будет руками доводить до ума. Особенно это касается сносок, я бы сказал из-за них +50% работы.

Январь 02.12.2011 09:17

Должно быть МВ самая большоая из работ ВП СССР... Всего - 1 миллион символов, в среднем на главу 35 тысяч символов.

Полнотекстовый поиск применяется максимум для полей TEXT, а это 65 тысяч символов.

На первый взгляд все подойдет, но блин - мало ли...

Думаю вот что хранить все таки целесообразнее главами... То есть с максимальной точностью детализации до глав.

То есть вот предложение - делаю таблицы: одну линейную и одну Nested Sets:

Код HTML:

.. (level - 0) Источник
.... (level - 1) Категория
...... (level - 2) Книги (+ связь с автором)
........ (level - 3) Главы
.......... (level - 4) Подразделы

Поиск по Книгам, Главам и Подразделам. По Книгам для простых ТМ, и более детально для работ вроде МВ и ОС.

Таким образом - если что-либо найдено в каком-либо подразделе - мы автоматом получаем цепочку: подраздел > глава > книга (автор) > категория.

На экран выводим:
  • навигатор по оглавлению,
  • подраздел или главу в зависимости от того, где найдено,
  • выделяем найденный фрагмент.
Таким образом у нас получается точная маска поиска (как хотел Сирин), что-то вроде: книга > глава > подраздел = 24.17.3. Далее стоит задача - как довести степень детализации до абзаца.


При парсинге текста в базу для каждой сущности (книга, глава, подраздел) содержащей текст - вставляем периоды, содержащие информацию о нумеровании абзацев, например 47 - 250 - относительно количества абзацев книги в целом. Получаем маску вида 24.17.3.99.


Сноски храним вместе с сущностями, содержащими текст, то есть выводя главу - выводим все сноски в ней использованные и показываем их как тултипы.



Вот, только такое предложение придумал.


Да, tinymce прекрасно интерпретирует в HTML текст, вставленный в него из MS Word.


http://www.tinymce.com/tryit/full.php - нажимаем кнопку "вставить из MS Word", вставляем главу из МВ, нажимаем кнопку "html" - смотрим что получилось на выходе.


Получившийся код вполне подойдет для перепарса в BBCode и последующего хранения.


... ... ...


Что делать?


1. Ну базу то сделать не тяжело.
2. Но - надо сделать еще какую-нибудь страничку, на которой постараться максимально автоматизировать перевод материалов в базу.


Этим и займусь.

... ... ...

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

Парсинг будет авто-ручной. Но от этого вероятно уйти все равно не получится.

Что-то вроде:

1. Создается категория (если надо),
2. Создается автор (если надо),
3. Создается книга с оглавлением (по оглавлению автоматом формируются главы и подразделы),
4. Главы и подразделы наполняются содержимым (методом copy & paste из MS Word в TinyMCE).

Если книга не содержит каких-либо сложных стилистических моментов, то на добавление 1 книги будет уходить минут 5 (книги вроде МВ). 5 человек соответственно за 5 минут добавят 5 книг.

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

Код HTML:

.... (level - 1) Категория (История)
...... (level - 2) Подкатегория (Военная история)
...... (level - 2) Подкатегория (Древняя история)
...... (level - 2) Подкатегория (История КПСС)


Январь 02.12.2011 10:50

Проработка элементов стилизации книги.

Сразу лучше составить список стилизованных элементов, которые могут быть в книге.

Например:
  • Жирный шрифт,
  • Курсив,
  • indent, outdent (внешний и внутренний отступы),
  • Цитата,
  • Таблица,
  • Картинка,
  • Видео (при печати преобразуется в ссылку на видео).
Ну и т.д.

Чтобы просто потом за голову не хвататься и не делать в порядке под грифом "срочно"...

Михайло Суботич 02.12.2011 13:27

Цитата:

Сообщение от Январь (Сообщение 76168)
Таки опять вопрос - формулы как выводить?

Для этого есть язык формул Latex. Например, вводим
Цитата:

[latex size="1"]\left\{\begin{matrix} {X}_{1}={a}_{11}{X}_{1}+{a}_{12}{X}_{2}+ . . . +{a}_{1n}{X}_{n}+{F}_{1} \\ {X}_{2}={a}_{21}{X}_{1}+{a}_{22}{X}_{2}+ . . . +{a}_{2n}{X}_{n}+{F}_{2} \\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \\ {X}_{n}={a}_{n1}{X}_{1}+{a}_{n2}{X}_{2}+ . . . +{a}_{nn}{X}_{n}+{F}_{n} \end{matrix}\right. (1)[/latex]
Получаем:
http://s.wordpress.com/latex.php?lat...&fg=262626&s=1

Пример - О контрольных параметрах макроэкономики

Или так:
Цитата:

[latex size="2"]{K}_{i}=\frac{{s}_{i}+(p/100)\times \sum_{j=1}^{i-1}{K}_{j}}{1-(p/100)}=\frac{{s}_{i}}{1-(p/100)}+\frac{(p/100)}{1-(p/100)}\sum_{j=1}^{i-1}{K}_{j}[/latex]
http://s.wordpress.com/latex.php?lat...&fg=262626&s=2

Январь 02.12.2011 13:54

Ничего не понял, но это и не первый вопрос правда.

И так, мы храним в базе формулу: [latex size="1"]{K}_{i}=\frac{{s}_{i}+(p/100)\times \sum_{j=1}^{i-1}{K}_{j}}{1-(p/100)}=\frac{{s}_{i}}{1-(p/100)}+\frac{(p/100)}{1-(p/100)}\sum_{j=1}^{i-1}{K}_{j}[/latex] - при выводе на сайт ее надо преобразовать в картинку. Что именно совершает это преобразование? И на каком этапе?

...

Таблицы (типа таво):

Публикации:

Код HTML:

CREATE TABLE `jx_BookBase` (
  `node` bigint(20) unsigned NOT NULL auto_increment,
  `parent` bigint(20) unsigned NOT NULL default '0',
  `level` bigint(20) unsigned NOT NULL default '0',
  `lkey` bigint(20) unsigned NOT NULL default '0',
  `rkey` bigint(20) unsigned NOT NULL default '0',
  `hide` enum('no','yes') NOT NULL default 'no',
  `create` bigint(20) NOT NULL default '0',
  `modify` bigint(20) NOT NULL default '0',
  `type` varchar(16) NOT NULL default 'undefined',
  `author` bigint(20) unsigned NOT NULL default '0',
  `name` text,
  `text` text,
  `chapter` text,
  `A` bigint(20) NOT NULL default '0',
  `B` bigint(20) NOT NULL default '0',
  `signature` text,
  PRIMARY KEY  (`node`),
  UNIQUE KEY `Unique` (`lkey`,`rkey`,`node`,`parent`,`level`),
  UNIQUE KEY `Unique (l,r)` (`lkey`,`rkey`),
  KEY `Node (parent)` (`parent`),
  KEY `Node (level)` (`level`),
  KEY `Node (lkey)` (`lkey`),
  KEY `Node (rkey)` (`rkey`),
  KEY `Node (hide)` (`hide`),
  KEY `Node (create)` (`create`),
  KEY `Node (modify)` (`modify`),
  KEY `Node (type)` (`type`),
  KEY `Node (author)` (`author`),
  KEY `Period` (`A`,`B`),
  KEY `A` (`A`),
  KEY `B` (`B`),
  KEY `General` (`parent`,`level`,`lkey`,`rkey`,`hide`,`create`,`modify`,`type`,`author`,`node`,`A`,`B`),
  FULLTEXT KEY `FullText (name)` (`name`),
  FULLTEXT KEY `FullText (text)` (`text`),
  FULLTEXT KEY `FullText (signature)` (`signature`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251;

Авторы:

Код HTML:

CREATE TABLE `jx_AuthBase` (
  `node` bigint(20) unsigned NOT NULL auto_increment,
  `hide` enum('no','yes') NOT NULL default 'no',
  `create` bigint(20) NOT NULL default '0',
  `modify` bigint(20) NOT NULL default '0',
  `name` varchar(64) NOT NULL default 'undefined',
  PRIMARY KEY  (`node`),
  KEY `General` (`hide`,`create`,`modify`,`name`,`node`),
  KEY `Node (hide)` (`hide`),
  KEY `Node (create)` (`create`),
  KEY `Node (modify)` (`modify`),
  KEY `Node (name)` (`name`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251;



Часовой пояс GMT +3, время: 20:46.

Осознание, 2008-2016