Вернуться   Форум "Осознание" - Концепция Общественной Безопасности > Движение сторонников КОБ. Проекты. > Конкретная работа. Предложения.

Данный форум существует в настоящий момент, как памятник истории развития движения сторонников КОБ и хранилище значительного объёма сопутствующей информации. Функцию площадки общения форум не исполняет. Регистрация новых пользователей запрещена.
На случай, если Вам по какой-либо причине понадобится зарегистрироваться на форуме, пишите в телеграм @Sirin77


Конкретная работа. Предложения. Придумал - предложил - сделал.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.12.2011, 21:49   #1
Михайло Суботич
Команда сайта
 
Аватар для Михайло Суботич
 
Регистрация: 30.10.2008
Адрес: Подмосковие
По умолчанию

Согласен с Январем, поделюсь своим опытом. В текстах ВП используется много форматирования. Если вводить в базу голый текст, то он будет выводиться без форматирования - теряется некоторый смысл текстов. Если вводить в базу отформатированный в html текст (через tinymce), то в других форматах он будет не правильно отображаться, к тому же при конвертации tinymce получаются разные косяки с форматированием (не так как в исходных текстах + много лишних тегов), которые всё равно приходится устранять руками. Либо нужен универсальный скрипт-конвертер, который будет переводить html в fb2 и т.п. Либо можно всё перевести в fb2 и загрузить в базу, а на сайте поставить скрипт-перекодировщик fb2 -> html (скорее всего уже есть готовые решения).

По поводу сносок - тоже большая проблема, потому что tinymcy добавляет их в конец текста, и это очень неудобно каждый раз обращаться в конец, чтобы прочитать сноску. На e-dotu есть модуль для WordPress, который заключает сноски в теги [ref][/ref] прямо в тексте и потом обрабатывает их. Например, когда наводишь мышкой на номер сноски, сразу всплывает текст сноски. Но это нужно делать вручную, либо написать скрипт, который будет брать сноску из конца и вставлять в теги по соответствующему номеру в тексте.

Админ e-dotu ушёл в армию полгода назад, я взялся за перевод старых и новых текстов в html. Делаю вручную, долго и муторно, но зато качественно. Сейчас переведены тексты с 2007-2011 гг. и 1990-1996 гг.
Михайло Суботич вне форума   Ответить с цитированием
Старый 01.12.2011, 21:58   #2
Январь
Команда сайта
 
Аватар для Январь
 
Регистрация: 14.05.2009
Адрес: Москва
По умолчанию

Ну инденты то как минимум нужны, жирност и курсивность - они на каждом шагу...

Таки опять вопрос - формулы как выводить?

Цитата:
Сообщение от Я
И при выводе в ХТМЛ не совсем ясно как со сносками быть...
Как вариант - сноски мона тултипами сделать, наводишь на нее, она показывается - http://flowplayer.org/tools/demos/tooltip/index.html

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

Цитата:
Думаю, что мы сейчас велосипед изобретаем.
Всё это, в т.ч. вопрос форматирования уже решён в портативных читалках.
(смотрим в сторону формата .chm)

Сноски индексировать как отдельные фрагменты/блоки/страницы. В основном тексте давать на них сноску.
Фсё.
Это если не учитывать - как технически реализовать поиск, сколько времени уйдет на постоянное форматирование туда сюда...

Из мускула полнотекстовый поиск вернет результат за 0.0006 при 10 млн. проходов.

Таким образом дальше только вопрос форматирования... Как все остальное делается - не ясно...

...

Есть такая штука - кладр... У него интересный способ хранения данных... Можно попробовать...

Короче завтра что-нибудь набросаю... Думаю окончательно уйти абсолютно от всех ручных правок не удастся, но от 99% - удастся скорее всего...
Январь вне форума   Ответить с цитированием
Старый 01.12.2011, 22:35   #3
Sirin
Команда сайта
 
Аватар для Sirin
 
Регистрация: 21.10.2008
Адрес: Москва
По умолчанию

Цитата:
FB2-файл - это файл XML

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

XML (англ. Extensible Markup Language — расширяемый язык разметки; произносится [икс-эм-э́л]) — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий из себя свод общих синтаксических правил. XML предназначен для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями.
Вроде бы то, что нужно?..
Sirin вне форума   Ответить с цитированием
Старый 01.12.2011, 22:38   #4
Январь
Команда сайта
 
Аватар для Январь
 
Регистрация: 14.05.2009
Адрес: Москва
По умолчанию

блин
Январь вне форума   Ответить с цитированием
Старый 02.12.2011, 00:27   #5
Sirin
Команда сайта
 
Аватар для Sirin
 
Регистрация: 21.10.2008
Адрес: Москва
По умолчанию

Sirin вне форума   Ответить с цитированием
Старый 02.12.2011, 07:34   #6
Шуня
Команда сайта
 
Аватар для Шуня
 
Регистрация: 21.09.2009
Адрес: С Бажен
По умолчанию

Переводить в fb2 достаточно емкая работа, даже если использовать специальные программы, все равно надо будет руками доводить до ума. Особенно это касается сносок, я бы сказал из-за них +50% работы.
Шуня вне форума   Ответить с цитированием
Старый 02.12.2011, 09:17   #7
Январь
Команда сайта
 
Аватар для Январь
 
Регистрация: 14.05.2009
Адрес: Москва
По умолчанию

Должно быть МВ самая большоая из работ ВП СССР... Всего - 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:22
Январь вне форума   Ответить с цитированием
Старый 02.12.2011, 13:27   #8
Михайло Суботич
Команда сайта
 
Аватар для Михайло Суботич
 
Регистрация: 30.10.2008
Адрес: Подмосковие
По умолчанию

Цитата:
Сообщение от Январь Посмотреть сообщение
Таки опять вопрос - формулы как выводить?
Для этого есть язык формул 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]
Получаем:


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

Или так:
Цитата:
[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]
Михайло Суботич вне форума   Ответить с цитированием
Старый 02.12.2011, 13:54   #9
Январь
Команда сайта
 
Аватар для Январь
 
Регистрация: 14.05.2009
Адрес: Москва
По умолчанию

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

И так, мы храним в базе формулу: [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;

Последний раз редактировалось Январь; 02.12.2011 в 14:21
Январь вне форума   Ответить с цитированием
Старый 03.12.2011, 13:58   #10
Михайло Суботич
Команда сайта
 
Аватар для Михайло Суботич
 
Регистрация: 30.10.2008
Адрес: Подмосковие
По умолчанию

Цитата:
Сообщение от Январь Посмотреть сообщение
Что именно совершает это преобразование? И на каком этапе?
Преобразование совершает скрипт. Если посмотреть ссылку на изображение, то в данном случае это http://s.wordpress.com/latex.php?latex=
Код latex тупо передаётся в качестве переменной и на выходе получаем картинку. Я не искал, но думаю в инете есть эти скрипты для скачивания.
Михайло Суботич вне форума   Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид



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