↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи

Блог » Поиск

До даты
#проект_fanficmd
#рубиновый_поезд
Не прошло и трех лет, как Страга Севера решил вернуться к этому проекту.
Пока у меня первое достижение - с использованием двух библиотек я смог удалить любое форматирование из фанфика =-)
троллейбус_из_буханки.jpg
Показать 5 комментариев
#локальное
#айтишный_быт
#проект_fanficmd
Многомесячная эпопея по прикручиванию восстановления пароля через почту наконец закончилась. Теперь на сайте ought.ru можно восстановить пароль.
Осталось наконец-то дописать блог, и можно переходить к утилитам вроде конвертации фанфиков =-)
#рубиновый_поезд
#айтишный_быт
#проект_fanficmd
Обнаружил, что на Фанфиксе перекрывающиеся теги валидны.
Походу, придется отойти от стандартной библиотеки и писать парсер с ноля.
Ибо от древовидной структуры я отказываться не собираюсь, а Parslet перекрывающиеся теги не распознает.
Показать 7 комментариев
#рубиновый_поезд
#айтишный_быт
#проект_fanficmd
Обнаружил нетривиальные свойства тегов Фанфикса.
Например, теги выравнивания можно ставить в середине предложения, и они действуют не до закрывающего тега, а до СЛЕДУЮЩЕГО ОТКРЫВАЮЩЕГО тега выравнивания.
Товарищ ReFeRy, это нормальное поведение? Можно его вписывать в спецификацию?
Показать 14 комментариев
#рубиновый_поезд
#айтишный_быт
#проект_fanficmd
И, об overengineering.
Было:
class FanficsmeBlock < Parslet::Parser
# elementary rules
rule(:eol) { str("r") | str("n") | str("rn") }
rule(:lchar) { match("[^rn]") }
rule(:space) { match(" ") }
rule(:lspace) { match("[[:blank:]]") }
rule(:exspace) { match("[[:space:]]") }
rule(:eof) { any.absent? }
rule(:eolf) { eol | eof}

# basic rules
rule(:sline) { lspace.repeat(1).as(:line) >> eolf }
rule(:bline) { str("").as(:line) >> eol }
rule(:bsline) { bline | sline }
rule(:line) { lchar.repeat(1).as(:line) >> eolf }
rule(:aline) { bsline | line }

# complex rules
rule(:block) { aline }
rule(:text) { block.repeat(1) }
root(:text)
end

Стало:
class FanficsmeBlock
def parse(str)
str.gsub!(/rn/, "n")
str.gsub!(/r/, "n")

arr = str.split("n")
arr.map! { |s| {line: s} }
end
end
Свернуть сообщение
Показать полностью
Показать 14 комментариев
#металитература
#рубиновый_поезд
#айтишный_быт
#проект_fanficmd
Итак, товарищи, Страга дописал очередную проду, и у него появилась идея.
Изначально я хотел выставлять свой фанфик в нескольких местах. Куски его лежат на Фикбуке, на Самиздате и даже на СлиФоруме. (Да-да, знаю, я attention whore, можете не упоминать это снова).
Однако в процессе я понял, что конвертировать фанфик под стандарты этих разных площадок - занятие утомительное. Фанфикс требует расставлять HTML-теги жирности-курсива и не понимает отступов в начале строки, Самиздат требует полного HTML-оформления, но понимает отступы, СлиФорум требует использовать BB-коды...
Именно поэтому, например, на Самиздате у меня фанфик застрял на 14 главе. Потому что меня раздражает каждый раз скачивать с гуглдокса и экспортировать.

И у меня появилась идея.
Сервис, который автоматически конвертирует ваш фанфик под соответствие разным площадкам.
В качестве "принимаемого" формата, думаю, буду использовать Markdown. Он очень прост и рассчитан на нормальное восприятие "невооруженным глазом". Ведь мы регулярно, чтобы выделить текст в простой переписке, используем, скажем, звездочки - а Markdown просто переконвертирует выделенное звездочками в курсив. И так далее.
В общем, я, наверное, даже приостановлю написание блога на ought.ru ради подобного сервиса. Следите за новостями!
Свернуть сообщение
Показать полностью
Показать 20 комментариев из 36
ПОИСК
ФАНФИКОВ







Закрыть
Закрыть
Закрыть