Снежный ангел

Эквестрия погрузилась во мрак ледяного апокалипсиса,погубив себя в пламени гражданской войны за особо редкий ресурс -сверхвещество, называемое полярием. Победившее правительство Новой Эквестрийской Республики, спасая свой народ,заключили города под огромными куполами-биосферами, дающими живительное тепло.Какую часть себя можно потерять, борясь за выживание в беспощадной ледяной пустыне? Насколько низко можно пасть в погоне за шальными деньгами? Главная героиня -земная пони Лебраш Гай Эктерия испытала на себе все невзгоды постапокалиптического мира: она прошла кровавую войну за непонятные идеи, где потеряла глаз, примерила на себе долю бродяги, но истинная её сущность всю жизнь сохранялась в глубине доброй души. Сможет ли она она остаться такой, ведь именно ей предстоит решить судьбу всей Эквестрии? Сможет ли она устоять перед самым страшным испытанием -испытанием властью?

Другие пони ОС - пони

Добродетель магии

Давным-давно три племени пони поселились в прекрасных землях Эквестрии. Мало кто знает, как они жили раньше, и ещё меньше - что творилось тогда вокруг. Не осталось ни картин, ни летописей, ни преданий о диких морях на краю света и странных народах, что их населяли. Эта история - одна из немногих, которые удалось сохранить. Она повествует о маленьком единороге, которому не повезло родиться и жить в окружении земных пони, с трудом находя свой путь и не зная своей настоящей природы. Не зная, что магия - это добродетель, точно такая же, как надежда или отвага.

ОС - пони

Инвалид

Азан Аршахи, принц Парны, казалось бы, имеет всё: знатность, богатство и даже славу талантливого поэта. Но он хронически болен, физически слаб, и за всю жизнь не получил ни одного письма от благодарных читателей. Он инвалид. Он никому не нужен... Однако, как принцу, ему полагается путушгибан, элитный телохранитель. Или, вернее, телохранительница.

ОС - пони

Приморский город

Думал долго — аж со вчерашнего вечера: выкладывать или нет. Эту незавершенную и эклектично-клочковатую историю написали, играя в ролёвку, два парня что когда-то были друг другу симпатичны. Документ с год пролежал на гугл-доках, пока второй, который его создал, не решил его удалить. Первый же, коим являюсь я — предусмотрительно сохранил его у себя на компьютере. Есть сюсюканья, встречается частое повторение названия вида поней в одном предложении. Но есть и пара интересных моментов, поэтому — выкладываю сюда, как единственный нынче обладатель. В рассказе он и она — так что не кривитесь заранее :3 Public domain. P.S. от 18.05.2021: «Не завершен» и уже никогда не будет завершен. Репкин Егор умер сегодня, в 05.00 по МСК. Спи спокойно, мой маленький пони, теперь ты в Эквестрии и навсегда останешься в моём сердце, лапа. Лунных сов.

Рога Единорогов Сделаны Из Леденцов

Пинки Пай раскрывает тайну, сокрытую от каждого безрогого пони, Рога единорогов сделаны из леденцов! Она просто обязана попробовать каждый!

Твайлайт Спаркл Рэрити Пинки Пай Принцесса Селестия

О новый чудный мир!

Беда пришла в Эквестрию откуда не ждали. Новая правительница страны сделала всё что в её силах, но странный жемчужный туман оказался сильнее. И теперь у неё есть только один выход - спасти всех, кого ещё можно, уведя жителей страны в новый, неизвестный мир.

Рэйнбоу Дэш Флаттершай Твайлайт Спаркл Пинки Пай Эплджек Колгейт Сестра Рэдхарт Чейнджлинги

Старлайт и Трикси сидят с Флари Харт

Если пользуешься гостеприимством Твайлайт, будь готов и предложить ей свою помощь. Впрочем, какое гостеприимство, такова и помощь - никто и никого не спрашивал...

Твайлайт Спаркл Трикси, Великая и Могучая Старлайт Глиммер Флари Харт

Пузырьки (Еще одна версия перевода)

Очень милая зарисовка о детстве Дерпи.

Дерпи Хувз

Мраморное сердце

Кто знает, что может хранить в себе каменное сердечко?

ОС - пони Марбл Пай

Два глупых (или не очень) брата

Все знают Брони-Музыкантов? А WoodenToaster и dBPony (CookieSoup)? Конечно знаете. А теперь допустим, что они братья. Что они делают каждый день? Играют на музыкальных инструментах? Создают всё больше и больше всеми долгожданных песен? Может, их преследуют вечные ссоры между собой? Так давайте же заглянем поглубже в их историю...

ОС - пони

Автор рисунка: Stinkehund
Импорт форматирования с Google Docs (нужны тесты!), предпросмотр и другие новые плюшки stories.andreymal.org

Были вот такие жалобы:

«А можно чуть конкретнее? — Основная проблема в отсутствии совместимости с документами ворд\гуглдок. Не понимает программа разметку, и это очень напрягает при выкладывании больших фанфиков. Нет той же самой функции превью, чтобы было видно, как текст будет выглядеть вживую. Я понимаю, что портал возведен и поддерживается энтузиастами своего дела, за что им глубокий поклон, но увы, пока редактор сторисов откровенно слаб и неудобен.» — Gedzerath

«Как на табун перенести текст с сохранением пробелов и курсива?»

«На доках текст разделен, стоит копирнуть на сториз/табун - все в одну кучу.»

На этих выходных у меня дошли руки поработать над этим.

Теперь при копировании текста из Google Docs (или других приложений, умеющих пихать HTML-код в буфер обмена) и его вставке в поле ввода главы будет вставляться готовый HTML-код для сайта с сохранением форматирования.

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

Если понадобится вставить без HTML-кода, можно сперва вставить в Блокнот, а из него уже скопировать в поле ввода.

Оно может не работать в старых браузерах, а Edge не умеет в юникод: я поддерживаю эту фичу только в последних версиях Chrome, Firefox и Safari.

Вообще я начал подумывать над впиливанием какого-нибудь WYSIWYG-редактора вместо нынешнего markItUp, но все просмотренные мной оказались на первый взгляд говном (в том числе популярные TinyMCE и CKEditor), а писать свой долго. Расскажите, что вы об этом думаете и нужно ли оно?

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

Заголовки глав теперь необязательны. Это позволит избавить рассказы, имеющие одну главу, от петросянства вида «Глава первая и единственная». Если заголовок не указан, то он не отображается при чтении рассказа. В местах, где заголовок всё-таки требуется (RSS, уведомления и т.п.), подставляется название рассказа или заглушка «Глава N».

По сайту раскидано больше ссылок на редактирование главы. Для удобства. А из формы редактирования главы можно перейти к чтению главы через ссылку в заголовке предпросмотра.

Сортировка результатов поиска по дате теперь сортирует таки по дате. Раньше сортировала по id рассказов. (Сортировка по рейтингу по-прежнему не работает, потому что голосов слишком мало).

Исходники:

https://github.com/andreymal/mini_fiction

https://github.com/andreymal/stories.andreymal.org

Этот пост на Табуне

Комментарии (93)

0

Славно.

Хеллфайр Файр
Хеллфайр Файр
#1
0

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

GORynytch
#2
0

Отступы между абзацами и так есть, просто не забывай разделять абзацы пустой строкой (хоть одной, хоть двумя :)

andreymal
andreymal
#4
0

И да, у меня при вставке из Word 2013 в Edge в Windows 10 есть по одной пустой строке — разделители абзацев, и после абзаца таки есть интервал — всё работает ровно так, как и задумывалось.

https://i.imgur.com/SSP3xeb.png
https://i.imgur.com/TsndflE.png

andreymal
andreymal
#5
0

Тогда хотя бы автоматически расставляемую красную строку в начале каждого абзаца сделай.
И я был бы очень благодарен, если бы было реализовано форматирование текста "по ширине" с автоматическим переносом по слогам. Примерно так, как на Фикбуке. Можешь даже попробовать расковырять ихний основной js и выдернуть оттуда фрагмент, который и отвечает за форматирование текста у клиента "по ширине" и его перенос.

GORynytch
#7
0

А вот в красивости красной строки я немного сомневаюсь

andreymal
andreymal
#8
0

Должен отметить, что фикбуковый джаваскрипт добавляет невидимые символы переноса (здесь должна была быть ссылка на unicode-table.com, но он почему-то не работает) в текст, которые столь же невидимо копипастятся при копипасте текста, вдруг это кому-то проблем создаст

andreymal
andreymal
#10
0

Чувак, огромное спасибо. Честно скажу, лично мне читать стало сразу намного привычнее и удобнее. Просто я с детства много читал и попросту привык, чтобы литературный текст всегда был оформлен по определённым нормам.
Единственный недочёт, который обнаружил раньше, но забывал о нём сказать. Лично у меня привычка — я при чтении не колёсиком мыши кручу страницу с текстом, а жму PgDown. Всё бы ничего, но после того как ты сверху страницы прикрутил панель, которая там постоянно приклеена, пока читаешь, при нажатии на PgDown страница прокручивается так, что следующая строка страницы оказывается под этой панелькой, поэтому постоянно дополнительно приходится жать "вверх", чтобы прочитать скрывшуюся строчку. Можешь это исправить так, чтобы при прокручивании страницы с помощью PgDown и PgUp две нижние строчки экрана оказывались вверху ниже панели в первом случае или же две верхние ниже панели — внизу во втором случае?

GORynytch
#17
0

Вообще на stories.everypony.ru панелька прозрачна и появляется только при наведении мышки, есть вариант здесь тоже её просто скрыть

andreymal
andreymal
#18
0

Делать выдвигвающуюся панельку немножко геморройно, так что пока просто прозрачность прописал. Ну а PgDown/PgUp пропатчить вообще нельзя :(

andreymal
andreymal
#25
Комментарий был отправлен на Луну
0

А, можешь тогда пофиксить глюк, что если в начале или конце строки стоят теги типа "em /em", "strong /strong", "s /s", "u /u" (знаки "больше-меньше" убрал, т.к. иначе теги не отображаются в комментарии) и, возможно, какие-то другие, то тогда при просмотре строка слипается с предыдущей (если тег стоит в начале строки) или со следующей (если в конце строки), хотя в редакторе остаётся так, как и было, из-за чего приходится принудительно ставить тег "br".
И ещё, что это за новые ;nbsp или как-то так отображающиеся хрени при вставке из Ворда текста?

GORynytch
#6
0

  появляется скореее всего в тех местах, где больше одного пробела подряд, а так как в HTML несколько пробелов подряд схлопываются в один, ворд (да и гуглдоки тоже) пытается сохранить их заменой на несхлопывающийся  , если так, то это норма

andreymal
andreymal
#9
0

Обнаружен небольшой баг скрипта красной строки. После тега "br" красная строка не отображается, хотя должна быть. Можешь исправить? А то пусть это и мелочь, но глаз она царапает.

GORynytch
#29
0

Не должна, <br/> по определению разделяет строки внутри абзаца, а не сами абзацы (то же самое делает вроде как Shift+Enter во всяких вордах)

andreymal
andreymal
#30
0

А-а-а, вот оно в чём дело. Тогда понятно. А есть ли тег, который именно будет добавлять новый пустой абзац, а не разделять абзац на две строки? Потому что кое-где нужно, чтобы даже при переключении режима на красную строку всё равно стояла одна (или несколько) пустая строка, а без того же br дополнительные пустые строки всё равно съедаются движком.

GORynytch
#31
0

То есть именно принудительная вставка нового абзаца.

GORynytch
#32
0

Извращения какие-то, где это надо? Но вообще два br подряд с пустой строкой после них вроде бы дают нужный эффект, если я правильно понял

andreymal
andreymal
#33
0

Сейчас перепроверил — да работает как надо. Извиняюсь, что побеспокоил.

GORynytch
#34
0

Жутко не хватает тега "Повседневность". Не всегда же кровь, приключения и шары для боулинга, которые глупые кобылы засовывают в крупы, бывают и прекрасные рассказы о мирных буднях или весёлых бытовых ситуациях. Нельзя ли ввести?

Хеллфайр Файр
Хеллфайр Файр
#35
0

Ну вроде жанр такой уже есть. Вообще я пока избегаю изменения жанров, персонажей и событий, не хочу терять совместимость со stories.everypony.ru

andreymal
andreymal
#36
0

М! Кстати, неплохо бы при выдаче html принудительно втыкать nbsp после тире, союзов и частиц.

arsenicum
#41
0

И сноски. Есть вариант, который синтаксически не сложнее спойлера:

body { counter-reset: refcount; }
.refsub { display: inline; counter-increment: refcount; }
.refsub:after { content: counter(refcount); vertical-align: super; font-size: smaller; }
.refdef:before { content: counter(refcount)" "; vertical-align: super; font-size: smaller; }
.refdef { display: inline-block; width: 100%; float: left; color: #666; border-top: 1px solid; margin: 0px !important;}

(пустой span с классом refsub втыкается в месте сноски, сразу за ним следует span с классом refdef, в котором записан текст сноски. Второй можно вложить в первый, тогда прописав первому display:none можно скрыть все сноски.)

arsenicum
#48
0

Импорт не видит разницы между i/em, b/strong
Не сказать, что это критично, но унификации препятствует.

arsenicum
#59
0

Добавил отображение комментов к новостям в ленте на главной. Буду тут о мелких багфиксах писать, на которые жалко тратить целый пост

andreymal
andreymal
#60
0

Переделал вставлялку HTML-кода с гуглодоков. Проверьте, должны были исправиться некоторые косяки. Те, у кого всё работало, тоже проверьте, а то могли появиться новые косяки :)

andreymal
andreymal
#61
0

Так, обнаружен критический баг. Текст из Ворда НЕ КОПИРУЕТСЯ, если в Ворде он был курсивом или полужирным курсивом. Т.е. всё остальное копируется нормально, а вместо курсивного текста — пусто.

GORynytch
#62
0

fxd

andreymal
andreymal
#63
0

Ага, заметил. И вот, что мне выдал редактор при вставке текста (это два скриншота, из которых я вырезал нужное и соединил в один, красная линия разделяет две части из начала и конца главы):

Тебе надо бы, чтобы при вставке скрипт автоматически проверял на наличие рядом двух открывающих и/или закрывающих тегов, а также наличие подряд одинаковых открывающего и закрывающего или закрывающего и открывающего тега, между которыми нет ни единого символа, и всё это лишнее удалял.

GORynytch
#64
0

Возни много, эх. Попозже сделаю

andreymal
andreymal
#65
0

Вроде сделал, проверь (и желательно проверить что ничего лишнего не удаляется :D )

andreymal
andreymal
#69
+1

Немного порефакторил комменты, теперь можно изменить число комментов на одной странице (без учёта веток) в настройках. Если установить 1000 (разрешённый максимум) и выставить максимальную глубину веток 0 (это отключает их сворачивание), то будет почти как на Табуне

andreymal
andreymal
#70
Комментарий был отправлен на Луну
0

Вот косяк, что я поймал на смарте:
Вот скрин сего безобразия.
Иногда может прикрыть целую строчку, если названия нет.

+Почему-то текст на электронной книге очень близко лезет к краю экрана. Не мешает, правда, но иногда раздражает.

МакКлортман
МакКлортман
#72
0

Что-то у меня не воспроизводится это безобразие. Если всё нормлально прокручивается и можно вернуть отображение строчки прокруткой вверх, то так и задумывалось. (Такой гигантский размер не задумывался, но у меня сейчас не хватает времени чтоб заняться редизайном панельки)

andreymal
andreymal
#73
0

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

andreymal
andreymal
#74
0

andreymal, маленький вопрос. Возможно ли сделать скачивание fb2 файлов без запаковки в архив?

Дядя Эскобар
Дядя Эскобар
#75
0

Наверно можно, а зачем?

andreymal
andreymal
#76
0

Часть ридеров и телефонов крайне плохо дружат с архивами. Мой, к примеру, портит процентов 30 архивов при распаковке :-( Приходиться фики закидывать через компьютер.

Дядя Эскобар
Дядя Эскобар
#77
0

Чёт мда, тогда возможно сделаю

andreymal
andreymal
#78
0

Сделано

andreymal
andreymal
#79
0

Хех, с каких пор тут капча? Аж спамить захотелось глядя на неё.

Гость #81
0

Заметил баг экспорта в FB2. Фрагменты текста, размеченные как цитаты (тег blockquote) в экспорте отсутствуют. Совсем.

dahl
dahl
#82
0

Блин, я в XSLT ничё не понимаю :(

andreymal
andreymal
#83
0

Подучил XSLT, вроде починил. Кто-нибудь проверьте, работает ли сейчас FB2 на читалках вообще

andreymal
andreymal
#84
0

Две разные читалки на iPad — работает правильно, blockquote отображается.

dahl
dahl
#85
0

Вот ещё один жук, держи:

Похоже, из-за этой панельки весь этот сыр-бор. Помнишь?

Вот косяк, что я поймал на смарте: скрин сего безобразия. Иногда может прикрыть целую строчку, если названия нет.

МакКлортман
МакКлортман
#86
0

То, что на этом скрине, починил

andreymal
andreymal
#87
0

Ещё немного мелких улучшений:

— Добавлена кнопка отправки жалобы на комментарий для привлечения моего внимания

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

— Подсчёт слов стал более умным: тире в диалогах больше не считаются словами, разлеплены некоторые слипшиеся слова, слеплены некоторые разлипшиеся и т. п. В предпросмотр главы добавлен вывод количества слов в предпросматриваемой главе, чтобы можно было поиграться и разобраться, как сайт считает слова

Есть что сверхсрочного, что нужно побыстрее пофиксить? А то я хочу всё-таки к капитальному рефакторингу приступить, и будет немного не до фиксов

andreymal
andreymal
#88
0

У меня пока ничего. Поздравляю с Новым Годом, Andreymal! Всего вам хорошего в следующем году. В особенности при работе с кодом. :)

МакКлортман
МакКлортман
#89
0

Че, пацаны, Новый Год?))

Lohamigos
#90
0

Можете добавить возможность удаления своих комментариев (с теми же условиями, что и для их редактирования) или защиту от повторного отправления комментария, как на табуне?

Legat_89
Legat_89
#91
0

Защиту от повторного можно, а удаление нихачу

andreymal
andreymal
#92
Авторизуйтесь для отправки комментария.