= Сообщение: 55 из 2735 ===================================== RU.FTN.DEVELOP = От : Mithgol the Webmaster 2:5063/88 06 Sep 13 14:03:16 Кому : Sergey Poziturin 06 Sep 13 14:03:16 Тема : Сесть и всё самостоятельно сделать FGHI : area://RU.FTN.DEVELOP?msgid=2:5063/88+5229ab5a На : area://RU.FTN.DEVELOP?msgid=2:5063/88+51e03841 = Кодировка сообщения определена как: CP866 ================================== ============================================================================== Знаю уж, Sergey Poziturin! 20:52 12 Jul 2013 написано тебе мною:
SP>> Я честно пытался, но не осилил с первых двух попыток написать regex, SP>> который бы распарсил ссылку fghi корректно в любом месте текста. SP>> Всему виной специальные символы, которые применяются в msgid фидошном.
MtW> Это настоящая драма. Даже если бы ты осилил эту попытку, то этот регэксп MtW> тебе впоследствии было бы мучительно больно пополнять и отлаживать.
MtW> У меня есть альтернативная мысль: сперва хапнуть что-нибудь отдалённо MtW> напоминающее FGHI-гиперссылку, для чего на языке регулярных выражений MtW> достаточно ловить (netmail|areafix|echomail|area|fecho|faqserv|freq) MtW> с последующим двоеточием и ненулевым количеством дальнейших символов. MtW> Затем хапнутое бережно скармливать отдельному куску кода, который станет MtW> смотреть, FGHI-гиперссылка это получилась или не FGHI-гиперссылка.
MtW> У меня на https://github.com/Mithgol/FGHI-URL/blob/master/index.js есть MtW> кусок такого кода, но он, хотя и занимает больше трёхсот строк, на деле MtW> даже ряд нововведений из FGHI URL 0.4 не распознаёт. Всё это потому, что MtW> я несколько нет им не занимался. Вот когда я из него сделаю MtW> модернизированную версию, оформленную в качестве модуля для Node.js и MtW> покрытую тестами ── тогда он на что-нибудь да будет пригоден.
Как я упоминал уж здесь ранее, парсер URLов FGHI был мною успешно сочинён, задокументирован, покрыт тестами (хотя и не на 100% покрыт) и выложен на GitHub по адресу https://github.com/Mithgol/FGHI-URL
Поможет ли это публике во внедрении FGHI URL в фидонетовские программы (прежде всего ── в читальники фидопочты)?
MtW>>> Вижу один выход: всё самому сделать. Это долго, но это возможно.
SP>> Это самое лучшее, что можно придумать.
MtW> Сегодня я сел, немного подумал, и у меня появился вот такой план:
План пришлось на этой неделе несколько скорректировать, потому что я осознал, что для чтения JAM-баз неплохо бы иметь перекодировщик текста, преобразующий текст из Unicode в фидонетовскую однобайтовую кодировку (прежде всего в CP866) и обратно.
Сегодня утром до меня дошло, впрочем, что я мог бы просто пользоваться iconv или его аналогом, так что потерял несколько дней на переизобретение велосипеда. Однако нет худа без добра. Windows-пользователям классический iconv пришлось бы раздобывать или собирать, так что его аналог на чистом джаваскрипте экономит усилия. По адресу https://github.com/ashtuchkin/iconv-lite/ есть, надо сказать, и аналог iconv на чистом джаваскрипте, однако API фигово документирован ── прям хоть иди да исходный код читай. Так что повод создавать свой перекодировщик был недостаточным, но теперь, когда перекодировщик уж создан мною, есть ряд поводов использовать именно его.
Обновлённый план выглядит таким образом:
Дерево технологий Фидонета ==========================