![]() |
Полная база работ авторского коллектива ВП СССР (и сопутствующих)
Библиотека КОБ для Андроид
https://play.google.com/store/apps/details?id=com.yurikontik.cob_library.app Apple: https://itunes.apple.com/ru/app/biblioteka-kob/id850336250?mt=8 |
Цитата:
Если это однообразный процесс - можно парсер сделать... |
Цитата:
Можно создавать материалы типа "Книги по КОБ". Надо просто наполнять, а сделать вывод с сортировкой потом легко. В этих материалах можно указать заголовок, дату, автора, категорию, описание, изображение... Если что-то ещё нужно, то скажите, добавлю. |
Вобщем суть в чём?
Существующая на сегодня база представляет из себя просто сборник файлов разложенных в папки по годам. Примерно до 2006 года они ещё были и форматированы очень плохо. В doc картинки были не внедрены, а связаны и лежали в отдельных папках. Приложенные веб-документы тоже были как попало сохранены. Это я переделал. Теперь делаю единый интерфейс, из которого удобно было бы получить доступ ко всем работам сразу и осуществлять поиск. Простой HTML удобен по нескольким причинам. 1. Браузер есть на любом компе. 2. встроенный в браузер поиск по ctrl-f 3. Возможность простого экспорта полученной в результате базы данных на любой пользовательский сайт. То есть, эти базы можно будет клонировать в сети быквально за пару кликов, скопировав файлы и дав ссылку на стартовую страницу. 4. назревшая необходимость размещения такой базы на нашем сайте. То есть, задача, в некотором смысле, двоякая, даже тройственная :) 1. создание удобной дружественной для юзера базы; 2. размещение полной базы на сайте; 3. создание легко клонируемой в вебе базы. В том виде, как я это делаю сейчас (в простом HTML) - это способ объединить все три задачи в одно решение. По сути же, это идеальное решение (на мой взгляд) только для третьей задачи. Для первой можно будет потом переформатировать несколько html в [ame="http://ru.wikipedia.org/wiki/HTMLHelp"]chm[/ame], - удобнее, но - теряем кроссплатформенность, - саму базу (doc и прочие) в chm не засунешь. Идеально, на мой взгляд, для 1й задачи было бы создание одного *exe (есть варианты... jar для телефонов...) файла, в котором была бы вся база с возможностью поиска по ней (не только по названиям, но и внутри файлов) и возможностью вывода (сохранения вовне) содержащихся в нем документов. Для этой базы, вероятно, лучше использовать формат *.odt - открытый, наверняка есть готовые исходники читалок. В таком виде базу ОЧЕНЬ удобно было бы распространять (и пользоваться) - по флешкам, по компам и т.п. Но это задача для программистов хотя-бы немножко знающих, что это такое вообще, то есть, не для меня ;) Вторая задача - в принципе, может быть решена и средствами Drupal, но больше, чем за два года существования сайта этого пока так и не сделано... |
Бета версия: http://kob.su/kobbase
|
Кстати, этот вопрос:
Цитата:
Я в БД особо не соображаю, но мне думается, что это верный путь - создание отдельной БД с текстами и сопутствующими картинками работ ВП - MySQL или подобной. Оттуда эти тексты уже можно будет легко и стандартно представлять как угодно - HTML, или текстом со стандартным форматированием, распространять всё целиком со стандартной читалкой (есть ведь вроде бы мини версия MySQL?) типа fb2 и т.п. Как это всё загнать туда с минимальными трудозатратами но с поабзацной (хорошее слово :crazy:) индексацией? |
Цитата:
Предварительная проработка: 1. Материалы ВП СССР можно объединить в секции, как новости на http://lenta.ru - там есть секция "Россия", секция "б.СССР", секция "Прогресс" и т.д. Так и материалы ВМ СССР могут быть объединены по признакам: "философско-мировоззренческий" - , "исторический" - , "экономический" - , "политический" - очерк. Это к вопросу о закладке возможностей динамики базы, выборки по тегам и пр. 2. Порядок действий:
Так как мою идею интегрировать кабзу ВКонтакт похоронили - я в принципе свободен (нет нет, я конечно же продолжаю тихой сапой делать соц.сеть, скоро уже приступлю к сборке даже (упорству демонов-козерогов позавидует любая йога), но) - так что я мог бы исполнить по крайней мере часть описанных шагов... ... Еще: Цитата:
В крайнем случае word-овский или pdf-ный файл можно сохранить в txt и их уже вставлять в базу, но в таком случае проработка сносок, картинок и т.д. - это все дальнейший груз. ... Предлагаю следующие сущности для проект:
... Так же - данные хранить в BBCode. Это единственный верный вариант для хранения разметки в сети на данный момент... |
А есть на пэхэпэ конвертер из ms word в html?
|
Цитата:
|
MS WORD - это зло! :aq:
Ну его нафиг! PDF - это наше всё. |
Цитата:
Цитата:
Цитата:
Покажи мне на него пальцем! :aq: Цитата:
Если возьмёшься за это дело, давай хорошенько обдумаем чего да как. С перспективой создания из этой базы отдельной программы. |
Цитата:
Цитата:
Цитата:
Опиши саму идею подробно... |
Я не спец по базам данных но мысль такая.
В базе содержаться текстовые блоки (главы или абзацы?), + соответствующие им картинки, + ссылки на примечания (которые тоже - индексированные текстовые блоки). Если проиндексировать абзацы, можно будет делать ссылки типа: .../базакоб/книги/Вопросы_митрополиту/глава3/24 И там будет конкретный абзац с нужной цитатой. Очень удобно для цитирования на ресурсах. Почему не страницы? Потому, что, если мы делаем универсальную базу, то не знаем, на каком экране её будут смотреть - 120х120 или 1920х1680, соответственно, должна быть возможность формировать страницы динамически. Грубо говоря :) - как библию разбили в своё время на нумерованные главы и стихи и сейчас ссылаются типа 2:18 Из этой же базы, насколько я понимаю, будет элементарно сделать сайт с представлением всех работ ВП в виде простого HTML - то, чего сейчас Миха руками делает. Оттуда же и fb2 будет сделать нетрудно. И всё это дело портировать, скажем, на PocketPC, Android, и пр. - база + микросервер + читалка в виде программы. Причём, как я сильно подозреваю, всё это уже изобретено и существует - нужно подобрать подходящий вариант и создать базу. Из плюшек - нормальный поиск СРАЗУ ПО ВСЕМ или выборочно по отдельным работам ВП. На сегодня это не реализовано нигде. |
Цитата:
А я тем не менее не за абзацы, а за главы. Таким образом при поиске будет выводиться целиком найденная глава - а в ней будет выделен найденный фрагмент... Тут одна проблема - если сохранять тем или иным видом верству, ну например жирное выделение - то поиск будет весьма осложнен... Таким образом выделение будет иметь смысл ставить только на целиком законченные высказывания... ... В остальном ясно... Но я все равно за главы... Это просто меньшая нагрузка на сервер, а при показе главы юзера можно хоть автоматом отскролить на найденный фрагмент... + для индексации полезнее... Хотя абзацы - аяты тоже прикольно... |
Цитата:
Цитата:
или djvu? или odt? |
Цитата:
Просто строка: Шуньке завта трицаган стукнет... Не равна строке: Шуньке завта [wow]трицаган[/wow] стукнет... ... По идее при полнотекстовом поиске учитывается "вес" найденного фрагмента - но вес будет большим у того фрагмента, в котором присутствуют все слова, то есть вес у: Шуньке завта [wow]трицаган[/wow] стукнет... по идее будет такой же как вес у: Кобеки, а знаетели вы что Шуньке то нашему завтра уже аж [wow]трицаган[/wow] по годам стукнет... Тоже проблемка... Как решение - можно хранить вариант с версткой и без, искать по без верстки, выводить с версткой... Ну это первое что в головомоск приходит... Не очень конечно же изящно... |
И при выводе в ХТМЛ не совсем ясно как со сносками быть...
|
Согласен с Январем, поделюсь своим опытом. В текстах ВП используется много форматирования. Если вводить в базу голый текст, то он будет выводиться без форматирования - теряется некоторый смысл текстов. Если вводить в базу отформатированный в html текст (через tinymce), то в других форматах он будет не правильно отображаться, к тому же при конвертации tinymce получаются разные косяки с форматированием (не так как в исходных текстах + много лишних тегов), которые всё равно приходится устранять руками. Либо нужен универсальный скрипт-конвертер, который будет переводить html в fb2 и т.п. Либо можно всё перевести в fb2 и загрузить в базу, а на сайте поставить скрипт-перекодировщик fb2 -> html (скорее всего уже есть готовые решения).
По поводу сносок - тоже большая проблема, потому что tinymcy добавляет их в конец текста, и это очень неудобно каждый раз обращаться в конец, чтобы прочитать сноску. На e-dotu есть модуль для WordPress, который заключает сноски в теги [ref][/ref] прямо в тексте и потом обрабатывает их. Например, когда наводишь мышкой на номер сноски, сразу всплывает текст сноски. Но это нужно делать вручную, либо написать скрипт, который будет брать сноску из конца и вставлять в теги по соответствующему номеру в тексте. Админ e-dotu ушёл в армию полгода назад, я взялся за перевод старых и новых текстов в html. Делаю вручную, долго и муторно, но зато качественно. Сейчас переведены тексты с 2007-2011 гг. и 1990-1996 гг. |
Думаю, что мы сейчас велосипед изобретаем.
Всё это, в т.ч. вопрос форматирования уже решён в портативных читалках. (смотрим в сторону формата .chm) Сноски индексировать как отдельные фрагменты/блоки/страницы. В основном тексте давать на них сноску. Фсё. |
Ну инденты то как минимум нужны, жирност и курсивность - они на каждом шагу...
Таки опять вопрос - формулы как выводить? Цитата:
Цитата:
Цитата:
Из мускула полнотекстовый поиск вернет результат за 0.0006 при 10 млн. проходов. Таким образом дальше только вопрос форматирования... Как все остальное делается - не ясно... ... Есть такая штука - кладр... У него интересный способ хранения данных... Можно попробовать... Короче завтра что-нибудь набросаю... Думаю окончательно уйти абсолютно от всех ручных правок не удастся, но от 99% - удастся скорее всего... |
Кстати fb2 большинства работ уже или есть или в скором времени будет.
Может в этом направлении поковырять (т.е. в базу заносить)? В этом направлении koldun работает - он ручками конвертирует, т.е. высококачественно. Я ему сделал доступ, будет помогать ВСЕ РАБОТЫ ВП СССР доводить до ума. |
Цитата:
Можно! Но только это вопрос на столько же принципиальный, как - а можно ли html распарсить? Можно! А можно ли текстовик распарсить? Можно! А пожно ли pdf распарсить? Можно!.. То есть вопрос то по сути не о том, как это в базу загнать - с некоторой долей автоматизации загнать получится все. Вопрос в том, как это в базе организовать, как хранить, как делать поиск... |
Цитата:
|
блин
|
:)
|
Переводить в fb2 достаточно емкая работа, даже если использовать специальные программы, все равно надо будет руками доводить до ума. Особенно это касается сносок, я бы сказал из-за них +50% работы.
|
Должно быть МВ самая большоая из работ ВП СССР... Всего - 1 миллион символов, в среднем на главу 35 тысяч символов.
Полнотекстовый поиск применяется максимум для полей TEXT, а это 65 тысяч символов. На первый взгляд все подойдет, но блин - мало ли... Думаю вот что хранить все таки целесообразнее главами... То есть с максимальной точностью детализации до глав. То есть вот предложение - делаю таблицы: одну линейную и одну Nested Sets: Код HTML:
.. (level - 0) ИсточникТаким образом - если что-либо найдено в каком-либо подразделе - мы автоматом получаем цепочку: подраздел > глава > книга (автор) > категория. На экран выводим:
При парсинге текста в базу для каждой сущности (книга, глава, подраздел) содержащей текст - вставляем периоды, содержащие информацию о нумеровании абзацев, например 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) Категория (История) |
Проработка элементов стилизации книги.
Сразу лучше составить список стилизованных элементов, которые могут быть в книге. Например:
Чтобы просто потом за голову не хвататься и не делать в порядке под грифом "срочно"... |
Цитата:
Цитата:
http://s.wordpress.com/latex.php?lat...&fg=262626&s=1 Пример - О контрольных параметрах макроэкономики Или так: Цитата:
|
Ничего не понял, но это и не первый вопрос правда.
И так, мы храним в базе формулу: [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` (Код HTML:
CREATE TABLE `jx_AuthBase` ( |
Цитата:
Код latex тупо передаётся в качестве переменной и на выходе получаем картинку. Я не искал, но думаю в инете есть эти скрипты для скачивания. |
У меня кстати интернет закончился. Я начал делать, но прирвался... На работе не делаю... Продолжу сегодня-завтра...
|
Цитата:
|
:(
Все... Я больше не верю в мир и не верю своему мировоззрению... ... 1. Открываем калькулятор в винде (ВинСвин 7). 2. Ставим режим - "програмистский". 3. Делим 32 на 6... 4. Фигеем! ... 1. Открываем калькулятор в винде (любой). 2. В режиме "обычный" или "инженерный". 3. Находим квадратный корень из 4 (=2). 4. Вычитаем 2. 5. Фигеем! ... Я больше не верю в математику. Мир не логичен :( ... ... 0.8 - 0.1 = 0.6(9) - JavaScript :bq: |
Осталось написать парсер тинимсишного хтмлся в какой-нибудь формат в котором будет это дело в базе храниться (ну в BBCode буду делать, по моему это оптимальный вариант). Сегодня этим и займусь. В остальном системка для наполнения базы книгами готов.
Потом надо будет сделать еще сам сайт... Ну или модуль в рамках кабзы... Как сделаю парсер - потестю его, ну и передам интерфейсик управления базкой... ... ... ... Сразу - парсеров HTML в BBCode - пруд пруди, даже в пхп есть готовый пакет такого парсинга туда и обратно... Все эти парсеры принципиально не подходят в силу спицифеки тегов, которые будут добавлены в тинимси и их содержательной части... По этому парсер придется сделать... С другой стороны в этом нет ничего сложного... На этапе парсинга из HTML в BBCode можно воспользоваться парсером XML, что упростит работу, но на этапе парсинга из BBCode в HTML, FB2, PSD такая фишка уже не прокатит, так что парсер писать все равно придется, его и можно сразу сделать единым (однообразным) для всего... Для запуска проект понадобится хотя бы 1 парсер - HTML -> BBCode -> HTML, под другие форматы можно будет дописывать позже парсеры... В целом получается: 1. Берем книгу ВП СССР, 2. Создаем в базе публикацию и главы к ней, 3. Из .doc файла книги ВП СССР копируем текст в базу (некоторым специальным образом оформляя сноски), 4. ПХП приводит это дело в формат хранения, 5. Назначаем книге псевдоним, например для Мертвой Воды - DW, 6. Таким образом получаем возможность ссылаться на публикацию следующими образама:
Следует заметить, что некоторые Текущие Моменты, или же просто статьи могут не содержать оглавления, по этому сущностями, способными содержать материал являются и главы, и подразделы глава и сами публикации... Маски для таких материалов такие же как и для всего остального, только лишь за отсутствием в масках отсутствующих в материале секций, например TM(5).12 = Текущий момент 5, параграф 12... Всего у нас существует 4 сущности:
Публикации и главы могут содержать текстовый материал, при чем книга может содержать или не содержать главы. Структура глав у книги (публикации) может быть как простой (плоской), так и сложной - то есть у глав могут быть подглавы, а у них подподглавы - так же как и у категорий - до 3 уровней вложенности. Благодаря чему база является приспособленной для хранения и организации поиска как по отдельным статьям, так и по сложным и очень сложным публикациям со структурированной системой глав. Таким образом поиск по базе может осуществляться:
Категория, это сущность в дереве, хранящем базу данных. В одной категории может находиться несколько публикаций. Но один тег может быть привязан так же к нескольким публикациям! Разница в том, что одна отдельная книга может быть связана не с одним тегом, а с несколькими. Таким образом чтобы хранить ее в древовидной структуре, в которую включена сущность "тег", эту книгу придется продублировать столько раз, сколько у нее тегов - то есть не гут. В то же время книга может принадлежать исключительно одной публикации, которая формально является уникальным тегом этой книги: Структура: Рубрикатор (корень дерева) ..Политология (категория) ..История (категория) ....По вере вашей (публикация - не содержательная часть) + тег Религия + тег Альтернативная история ......1 (глава 1 - содержательная часть) ......2 (глава 2 - содержательная часть) ......3 (глава 3 - содержательная часть) ..Материалы (категория) ....Красота и здоровье (категория) ......ЗОЖ (категория) ........Тайная власть бухла (публикация - содержательная часть) + тег Генофонд нации ... ... ... ... ... Вот это то, систему управления чем я сейчас делаю... Если что-то не так или не соответствует замыслу - уточните сразу сейчас, чтобы потом не переделывать дэнс !!! А, ну делаю тут http://agro-time.ru - если кому интересно, следите... login : test password : alpha.tester ... С системой авторизации и правами не заморачивался, делаю как быстрее, так что каждый юзер может при желании все сломать (а сломать можно только структуру дерева). С проверками ввода тоже особо не заморачиваюсь... Не пытайтесь если что добавить публикацию, добавление сущностей "публикация" и "глава" - отключено, вчера вскрылся какой-то конфликт между jQuery, jQuery-UI, jQuery-Tools и jQuery-TinyMCE (ну ясно - я его точно еще не локализовал :) , если не пойму в чем дело - сделаю "иначе" :) )... ... ... ... ... ... О медийности - в материалы можно будет вставлять музыки и видео с популярных сервисов, фотогалереи, различные интерактивные элементы... |
Цитата:
|
Цитата:
|
Вобщем предложил ему подключиться к нам.
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 18:44. |
Осознание, 2008-2016