Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement features listed in the “Wishlist of GoldED's features” #1

Open
1 of 9 tasks
Mithgol opened this issue Jan 25, 2014 · 0 comments
Open
1 of 9 tasks
Assignees

Comments

@Mithgol
Copy link
Owner

Mithgol commented Jan 25, 2014

“Wishlist of GoldED's features” was a text posted to the Ru.GoldED echomail area every month. It contained the following feature requests (in Russian):

*) Hаличие токенов, позволяющих выводить на печать (или в файл) reply-отношения
   между сообщениями.

Старый GoldEd (ещё не плюс) обладал этой возможностью, так что мог выводить,
например, такие заголовки:

- Эхобэкбон московской сети ────────────────────────────────── N5020.BONE ───
 Сооб : 99 из 484 -91 +109 169 *104
 От   : Anton Barabanov                   2:5020/5480     27 Aug 03  21:53:37
 Кому : Yura M. Bogoyavlensky                             27 Aug 03  23:41:42
 Тема : /400
─────────────────────────────────────────────────────────────────────────────

где -91 ── номер того сообщения, на которое отвечает текущее сообщение,
    +109 и 169 ── номера ответов на текущее сообщение,
    *104 ── номер следующего (за текущим сообщением) ответа на то же сообщение,
            на которое отвечает и текущее сообщение.

Нынешний Голдед так не может (увы! увы!), потому что к его шаблону для печати
ещё не придуманы соответствующие токены.

В идеале наличие таких токенов позволяло бы при помощи GoldEd+ выводить
не только красивые заголовки, но даже и экспортировать Голдедом сообщения
из традиционных фидонетовских баз сообщений в произвольный XML-формат.

Скажем, вышеприведённой строке из красивого заголовка
 Сооб : 99 из 484 -91 +109 169 *104
могли бы соответствовать токены
@Header Сооб : @Msgno из @Msgs@MsgPrev{ -##}@MsgNext1st{ +##}@MsgNext{ ##}
и в той же строке без пробела
@MsgSibling{ *##}
(подразумевая, что "##" заменяется на номер сообщения).

Так можно выводить красивые заголовки.

Но можно составить те же самые токены и таким образом, чтобы выводить XML-тэги:

<message num="@Msgno" of="@Msgs">
@MsgPrev{   <link rev="reply" num="##" />}
@MsgNext1st{   <link rel="reply" num="##" />}
@MsgNext{   <link rel="reply" num="##" />}
@MsgSibling{   <link rel="sibling" num="##" />}

и тогда на выходе получался бы превосходно оформленный XML-код:

<message num="99" of="484">
   <link rev="reply" num="91" />
   <link rel="reply" num="109" />
   <link rel="reply" num="169" />
   <link rel="sibling" num="104" />
   <!-- ... ну и так далее; например: -->
   <area title="Эхобэкбон московской сети" echotag="N5020.BONE" />
   <from addr="2:5020/5480">Anton Barabanov</from>
   <to>Yura M. Bogoyavlensky</to>
   <title>/400</title>
   <createdDateTime>27 Aug 2003 21:53:37</createdDateTime>
   <receivedDateTime>27 Aug 2003 23:41:42</receivedDateTime>

   ... текст сообщения ...
</message>
<message num="100" of="484">...следующее сообщение...</message>
<message num="101" of="484">...следующее сообщение...</message>
...и так далее...

*) Hаличие токенов, позволяющих выводить на печать (или в файл) имя города,
   соответствующее фидонетовскому адресу. (В нетмейле ── имена двух городов.)

*) Поддержка PCRE.

Было бы неплохо, если бы в GoldEd+ можно было бы искать при помощи
так называемых PERL-совместимых регулярных выражений. (Они же, кстати,
совместимы и с PHP, и с ECMAScript, и с кучею других ещё языков...)

Сейчас в GoldEd+ можно искать при помощи регулярных выражений (ключ "?r"
при поиске); однако вовсе не ясно, совместимы ли они с PCRE; вероятнее всего,
что не совместимы.

*) Поддержка копирования URLов FGHI в буфер обмена.

Хороша бы была такая комбинация клавиш, нажатием которой можно было бы
скопировать в буфер обмена (в том числе в системный буфер, если поддерживается)
уникальный URL текущего сообщения: либо в формате msgid+год ── например,
area://Ru.GoldEd/?msgid=2:5063/88+4733f806&time=2007 ── либо в формате
точного времени ── например, area://Ru.GoldEd/?time=2007/11/08T09:02:41
(уникальность в последнем случае не гарантированная и полагается только на то,
что в ту же секунду времени в эху вряд ли написал кто-то ещё что-то ещё).
Подробнее см. FGHI URL, раздел 7.2.

*) Поддержка URLов FGHI в командной строке.

Если в командной строке GoldEd+ указана area://-гиперссылка
(см. FGHI URL, раздел 7.2), то Голдеду неплохо бы открывать,
в худшем случае, первое из означенного множества сообщений;
в лучшем случае ── отображать всё означенное множество сообщений
и обеспечивать навигацию между ними. Если и то и другое сложно,
то хотя бы открывать означенную в URLе эху (или первую из них,
если в URLе несколько эхоконференций).

Если в командной строке GoldEd+ указана netmail:-гиперссылка
(см. FGHI URL, раздел 6.1), то Голдеду неплохо бы открывать
редактор нетмейла и автоматически заполнять поля заголовка письма
в соответствии с необязательными параметрами URLа.

Если в командной строке GoldEd+ указана echomail:-гиперссылка
(см. FGHI URL, раздел 6.3), то Голдеду неплохо бы открывать
редактор эхопочты и автоматически заполнять поля заголовка письма
в соответствии с необязательными параметрами URLа.

Если в командной строке GoldEd+ указана freq://-гиперссылка
(см. FGHI URL, раздел 7.5), то Голдеду неплохо бы открывать
редактор нетмейла и автоматически заполнять поля файлового запроса
в соответствии с необязательными параметрами URLа.

Если в командной строке GoldEd+ указана faqserv://-гиперссылка
(см. FGHI URL, раздел 7.3), то Голдеду неплохо бы открывать
редактор нетмейла и автоматически заполнять поля запроса к FAQ-серверу
в соответствии с необязательными параметрами URLа.

Если в командной строке GoldEd+ указана areafix:-гиперссылка
(см. FGHI URL, раздел 6.2), то Голдеду неплохо бы открывать
редактор нетмейла и автоматически заполнять поля запроса к ареафиксу
аплинка в соответствии с необязательными параметрами URLа, взяв пароль
к ареафиксу из fidoconfig или другого файла конфигурации эхопроцессора
(тоссера).

*) Поддержка перехода по URLам FGHI.

Было бы неплохо, если бы в дополнение к сейчас воспринимаемым по READPeekURLs
схемам URLов ── http:// и ftp:// и mailto: и что там ещё ── GoldEd+ обрёл бы
способность понимать URLы FGHI; причём, если GoldEd+ сам в состоянии открыть
означенный адресом ресурс, то хорошо; а если нет, то пущай бы он скармливал
этот URL в указанную конфигом URLHandler программу (или в команду системы).

Более того: если к моменту реализации этой функции GoldEd+ будет обладать
возможностью открывать URLы FGHI, то всё равно эта возможность должна быть
отключаемой (и отключаемой отдельно для каждой схемы URL) на тот случай, ежели
пользователь желает воспользоваться другой программою для обработки URLа,
указав её спервоначалу в URLHandler.

*) Поддержка перехода по произвольным URLам при помощи различных программ.

Хорошо бы в конфиге можно было бы указать (при помощи PCRE) произвольную
схему URLов, и назначить ей её собственный URLHandler. Так добрые люди могли бы
реализовать поддержку URLов Skype и календаря и magnet-ссылок и ещё Бог знает
чего, не утруждая лишний раз авторов GoldEd+ переделкою продукта.

То есть что-то в таком духе:

URLHandler start "" @url           ; обработчик по умолчанию

URLGroup Phones                    ; вычленение и обработка телефонов
   URLMatches \+[1-7](\d|-)+\d     ; например, +7-918-443-6168
   URLHandler skype "skype:@url"   ; запустить Skype с URLом телефона
EndURLGroup

URLGroup ICQUIN                    ; вычленение и обработка ICQ UIN, причём
   ; за счёт lookbehind assertions PCRE-выражением захватываются только цифры:
   URLMatches ((?<=ICQ:?\s*)|(?<=UIN:?\s*))\d+ ; ICQ 320863144 ──> 320863144
   URLHandler start "" http://wwp.icq.com/@url ; открыть профиль пользователя
EndURLGroup

*) Поддержка многострочных URLов.

FGHI URL предусматривает (см. подраздел 5.2.2.5) многострочную запись URLов
в Фидонете, когда символом разделения строки является двойной процент (%%).

Пример:

           ***********************************************************
           ***********************************************************
           **                                                       **
           **  ВНИМАНИЕ! Берите пойнтлист N5019 на fecho://pntl%%   **
           **  %%ist/pnt5019.zip                                    **
           **                                                       **
           ***********************************************************
           ***********************************************************

Тот же пример после цитирования (хорошо бы URL и в таком виде оставался
действующим):

           MtW> ******************************************************
           MtW> *****
           MtW> ******************************************************
           MtW> *****
           MtW> **
           MtW> **
           MtW> **  ВНИМАНИЕ! Берите пойнтлист N5019 на fecho://pntl%%
           MtW> **
           MtW> **  %%ist/pnt5019.zip
           MtW> **
           MtW> **
           MtW> **
           MtW> ******************************************************
           MtW> *****
           MtW> ******************************************************
           MtW> *****

URL, используемый в этом примере:

fecho://pntlist/pnt5019.zip

(смысл URLов fecho:// объясняется в разделе 7.4 FGHI URL).

        Чтобы избежать двусмысленности "%%%", URL НЕ ДОЛЖЕН быть
        разорван сразу после или сразу до любого из символов "%",
        принадлежащих URLу.

        Хороший пример:

           fecho://example/%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%D%%
           %%1%82.txt

        Примеры ошибок:

           fecho://example/%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%D1%%
           %%%82.txt

           fecho://example/%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%%%
           %%D1%82.txt

Hеплохо было бы, если бы GoldEd+ полностью воспринимал (при вставке URLов
в редактируемое письмо, при цитировании письма, при вычленении URLа из текста
и т. п.) этот стандарт, причём не только при записи URLов FGHI, но и при записи
любых других URLов ── например, уже воспринимаемой Голдедом ed2k://-схемы:

          ed2k://|file|fidopoyka_24_09_06%28DivX5_512x384%29.avi|871219%%
          %%20|8A706F58C5C7CF6EBA28561A53D60E70|/

Hетрудно заметить, что ed2k://-ссылки всегда бывают длинными, так что только
поддержка многострочности способна избавить фидошника от необходимости силою
сокращать имя файла для того, чтобы уместить имя и хэш его на той же строке.

It requested the following features (each of those should be eventually implemented in PhiDo):

  • Pretty printing (using GoldED print templates) should print reply-links (message numbers of children, siblings and the parent message).
  • Exported plain text should contain reply-links (message numbers of children, siblings and the parent message).
  • City name (or two names in netmail) should appear in plain text export or printed mail.
  • PCRE support in searches.
  • For each of Fidonet messages, it should be made easy to copy a unique FGHI URL of the message to the clipboard.
  • Open FGHI URLs from the command line.
  • Convert FGHI URLs (encountered in fidomail) to hyperlinks.
  • Support any URLs (run configuration-defined handlers as in GoldED-NSF).
  • Support URLs that span multiple lines.
@ghost ghost assigned Mithgol Jan 25, 2014
@Mithgol Mithgol self-assigned this Nov 30, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant