Markdown preview

Russian main discussion
  • Author
  • Message
Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

yozhic
Онлайн редакторы глянул - такой блок в одну строку нормально переваривают.
В общем, написал автору, до кучи спросил, есть ли возможность добавить зачёркнутый текст. Нравится утилита, не хочется искать замену :)

Offline
Posts: 382
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Skif_off, yozhic
Когда три косые черты встречаются в строке, т.е.

Code: Select all

текст ```код``` текст
или просто

Code: Select all

```код```
они по сути обрабатываются так же, как

Code: Select all

текст `код` текст
посему добавлять их в фолдинг не надо. Получился такой вариант.

Зы. Гитхаб почему-то считает coder-файлы бинарниками. Кто знает, как исправить?

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Cuprum
Спасибо, вроде работает. Только флаг 262144 убрал у себя, для быстрого перехода :)
Cuprum wrote:Зы. Гитхаб почему-то считает coder-файлы бинарниками. Кто знает, как исправить?

Это из-за кодировки UTF-16LE, у нас Lenchik придумал каталог source_for_developers, где хранятся coder-файлы в UTF-8, исключительно для истории, чтобы не видеть Binary file not shown.

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Вопрос возник, кто разбирается в HTML, подскажите, пожалуйста:
сейчас html-файл пишется

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta name="generator" content="MultiMarkdown" />
  <title></title>
</head>
<body>

консольный вывод MultiMarkdown

</body></html>
, то, что вывод в XHTML - это точно, а вот с версией не совсем понятно. Имеет ли смысл сократить

Code: Select all

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta name="generator" content="MultiMarkdown" />
  <title></title>
</head>
<body>

консольный вывод MultiMarkdown

</body></html>
?

Offline
Posts: 382
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Skif_off
А почему именно в XHTML-нотации? На обычный HTML нельзя поменять?

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Cuprum
Так выводит: http://fletcherpenney.net/multimarkdown/use/ Pandoc, к слову, тоже в XHTML.
По идее там ничего эдакого забористого не будет, тогда и разницы HTML/XHTML/HTML5, собственно, нет?

<title> нужно будет дописать для эстетической завершённости.

Offline
Posts: 276
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Спецом в html не являюсь, но за пару рассуждений, думаю, не поругаете.
Поскольку сам multimarkdown.exe никаких шапок не создаёт, то и версия xhtml (как и замена на HTML/HTML5), пмсм, существенной роли не играет. Файл, создаваемый multimarkdown.exe по «multimarkdown file.txt > file.html» и без шапок отображается браузерами. Строго необходимо добавлять только одну строку:

Code: Select all

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
т.к. без неё некоторые символы станут кракозябрами. А вообще я бы автора утилиты об этом спросил, почему он именно xhtml выбрал – ему ответить пара секунд.

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

yozhic
Общаться с моим языком не тянет :) Решил подчистить, уже было как-то - что-то лишнее добавлял и были проблемы.


MarkdownPreview.js:
подчищены <!DOCTYPE>, <html> и <head>; пути к утилитам задаются переменными в начале скрипта, чтобы не искать по всему скрипту; ссылка на тему заменена на ссылку на пост.

Offline
Posts: 276
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Skif_off
Хорошо бы в комменты ссылки на multimarkdown.exe и MarkdownPreview.exe. Последний я что-то так и не нагуглил.
пути к утилитам задаются переменными в начале скрипта
Вот это очень правильно и хорошо :)

Offline
Posts: 382
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Хорошо бы в комменты ссылки на multimarkdown.exe и MarkdownPreview.exe. Последний я что-то так и не нагуглил.
Ага. Я сечас попробовал просто Call("Scripts::Main", 1, "MarkdownPreview.js") и ничего. Видимо как раз потому, что нет MarkdownPreview.exe. Видимо, нужна проверка.

Еще можно описание в начале как-то более понятно описать, с несколькими примерами вызовов, вместо одного. Например, по подобию.

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Предполагал, что нагуглив тему, её почитают, ссылка на MultiMarkdown есть в первом сообщении, а к сообщению со скриптом и комплектом всё уже станет понятно :)
Собственно, тема была создана для обсуждения вариантов, MarkdownPreview.js - один из, но не добавлен в коллекцию, т.к. без, как минимум, MultiMarkdown он бесполезен, а использовать его предполагалось в комплекте. Код MarkdownPreview.js добавлен в тело сообщения чтобы было понятно, что он делает.

Нагуглить MarkdownPreview может быть непросто, т.к. написал её я и выкладывал только здесь (просто GUI со встроенным объектом Shell.Explorer.2, несколькими кнопками и горячими клавишами Esc, Ctrl+S и F5 со стандартными действиями, в т.ч. не даёт открыть один и тот же файл дважды (активирует и посылает F5 в существующее окно) и подчищает временные файлы после закрытия), исходники в комплекте, можно компилировать самостоятельно после проверки (если у меня с лицом что-то не то :)). Нет у меня сайта, поэтому на rghost.
Желательно использовать MarkdownPreview, т.к. пока не придумал, как иначе удалять временные md- и html-файлы.


MarkdownPreview.js:
добавлены проверки; предупреждение и выход, если отсутствует MultiMarkdown; кодировка UTF-16LE;
изменена логика работы: если используется параметр -browser - html-файл открывается в нём, если нет - проверяется наличие MarkdownPreview, при отсутствии - открывается в IE.

Т.к. в комплекте бинарник multimarkdown.exe, в архив добавлены LICENSE.txt и README.html из дистрибутива MultiMarkdown.

P.S. Если у кого есть лишнее свободное время и знание английского, был бы рад за перевод комментариев в скрипте :)

Offline
Posts: 382
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Skif_off
Нет у меня сайта, поэтому на rghost.
Можно попробовать Гугл-драйв. Как-то уже обсуждали с VladSh. Шапочных знаний HTML+CSS должно хватить ;-)
Еще вариант - создать репо на Гитхабе, и закинуть все туда. Там же можно и страничку прикрутить через Github Pages.
Если у кого есть лишнее свободное время и знание английского, был бы рад за перевод комментариев в скрипте
Тоже затык с написанием? :D Я вот спокойно могу читать технический текст (по крайней мере, связанный с веб-технологиями, программированием) и понимать большую часть без словаря. Но вот писать, правильно строить конструкции именно по-англицки (а не кальку с русского) получается очень слабо. О речи и речи нет :(

Offline
Posts: 276
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Skif_off
:D
Предполагал, что нагуглив тему, её почитают
Дык ведь под давлением иноземных языков башка по родному то и думать разучилась. Кто ж мог предположить, что будет всё так просто, так по нашему: сундук на дубе, утица в сундуке, а яйцо в утице. Но зато теперь вместе с комплектом есть и хорошее настроение -- от души порадовался. Вот, кстати, была весёлая история, если интересно: от этого поста («SergeyGolubev: правильно, но кнопочка совсем не заметна...») и следующие 7 постов.

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »


Cuprum
Гугло-аккуанта нет и в планах нет, а на гитхаб - ну, как-то не тянет поделка на проект :)

yozhic
Да, забавно получилось :) Я не шучу. Внимательно посмотрите на Дракончика... :)))


Собственно, начал тему без готового решения всё как-то на ходу, поэтому так нелаконично. Если есть интерес, надо подумать, как сделать проще и понятнее. И локализовать, из уважения.

Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

MarkdownPreview.js:
- изменено получение абсолютного пути к утилитам на более надёжное (проверка существования);
- замена Popup на AkelPad.MessageBox;
- MarkdownPreview запускается с дополнительным параметром (путь к AkelPad.exe, смотрите ниже).

MarkdownPreview:
- добавлены кнопки печати и просмотра HTML-кода;
- добавлена локализация.

Просмотр HTML-кода сгенерированного файла: если запускается из AkelPad - файл открывается в нём (для этого добавлен 3й параметр запуска - путь к AkelPad.exe, уже в MarkdownPreview.js), иначе - в Блокноте. Открывать в редакторе, из которого запущен MarkdownPreview - задача нетривиальная (с учётом разрядности), пока оставил.

P.S. По идее, зачёркнутый текст можно добавить так:

Code: Select all

pTextRange = pTextRange.replace(/(~~)([^~]+)(~~)/g, '<strike>$2</strike>')
но последствия пока не оценил (иначе никак).
Post Reply