WYSIWYG элемент управления Markdown для Windows Forms? - PullRequest
5 голосов
/ 27 августа 2008

[У нас есть интерфейсное приложение базы данных Windows Forms, которое, помимо прочего, может использоваться в качестве CMS; клиенты создают структуру, заполняют ее, а затем используют сайт, основанный на веб-формах ASP.NET, для публичного представления результатов в Интернете. Для большей гибкости они иногда вынуждены вводить фактическую разметку HTML прямо в текстовое поле, которое затем заканчивается как varchar в базе данных. Это работает, но далеко не удобно для пользователя.]

Как таковые ... некоторые клиенты хотят WYSIWYG-редактор для HTML. Я хотел бы убедить их, что они выиграют от использования более простого языка (а именно, Markdown). В идеале, я бы хотел иметь редактор WYSIWYG для этого. Им не нужны столы или что-нибудь подобное.

При быстром поиске обнаруживается конвертер .NET Markdown в HTML , а затем у нас есть текстовый редактор на основе Windows Forms, который выводит HTML , но, очевидно, ничего, что объединяет их , В результате у нас все еще были бы наши varchars с разметкой, но, по крайней мере, они были бы достаточно удобочитаемыми и легко разбираемыми.

Реально ли это - WYSIWYG-редактор, который выводит Markdown, который затем позже анализируется в HTML в ASP.NET? Есть альтернативные предложения?

Ответы [ 4 ]

0 голосов
/ 26 марта 2009

«WYSIWYG Markdown» - это действительно оксюморон, поскольку весь смысл Markdown состоит в том, чтобы позволить вам написать естественный и интуитивно понятный синтаксис разметки, который затем постобрабатывается в html, , если вы не имеете в виду, например, взять ** текст ** и отображение его как ** текст **, например. Это на самом деле было бы круто, но это было бы очень трудно для таких вещей, как нумерованные и маркированные списки, так как вам пришлось бы делать все позиционирование, но сохранять все на основе фактических текстовых символов (например, «*» вместо символа маркера ) и поддерживает правильное позиционирование текстового ввода, возврат и т. д.

  • Например,
  • в этом списке,
  • пули на самом деле должны быть звездочками,
  • и интервал на самом деле не будет.

На это, безусловно, стоило бы обратить внимание, если бы кто-то занялся этим.

0 голосов
/ 28 августа 2008

@ Soeren

Вы можете наиболее точно встроить IE с помощью редактора Javascript Markdown в приложение Windows Forms.

0 голосов
/ 10 сентября 2008

элемент управления RichTextBox

То есть вы хотите использовать Markdown, но хотите, чтобы пользователь этого не знал? Это не может быть достижимой целью. Я думаю, что смысл Markdown в том, что он ориентирован на писателей, которые хотят выучить немного довольно естественного синтаксиса и отредактировать все в простом тексте (например, в Википедии? Для этого есть чистые WYSIWYG-редакторы? Вероятно ... и, возможно, некоторые другой человек редактора Википедии должен прийти и очистить полученную разметку и форматирование ...). Если вы хотите, чтобы он был прозрачным для пользователя (например, MS Word), Markdown может не соответствовать вашим потребностям или дать вам преимущества, которые он рекламирует в этой ситуации.

Ввод происходит в Windows Forms

Oops! Теперь я лучше понимаю ваш вопрос. Я предполагаю, что это зависит от того, как выглядит ваше приложение Windows Forms, выглядит ли встроенный элемент управления IE как больной большой палец. Если вы попробуете это, вы можете обнаружить, что можете заставить его работать. [1]

На вашем месте я бы попробовал что-то вроде этого [2]:

Если вы не думаете, что такая договоренность пойдет на пользу вашим пользователям (особенно все редактирование в текстовом окне), то еще раз я не думаю, что Markdown - это решение для вашего конкретного приложения. Если вы думаете, что ваши пользователи увлечены идеей редактирования чистого текста, то держу пари, что мы можем найти решение. Пожалуйста, уточните?

Джаред.

[1] Я успешно поместил HTML-элемент управления IE в проект, чтобы отобразить некоторые сгенерированные результаты в формате PDF (используя плагин IE Reader, например, Adobe Reader или Foxit). Пользователь не знает, что эта часть GUI является элементом управления IE, он просто показывает PDF, позволяет печатать и сохранять и т. Д.

[2] ... но удалите границы и заставьте два разделенных элемента управления коснуться всех четырех краев встроенного элемента управления IE или подойдите очень близко ... например, оставьте его светло-серым или белым и удалите все границы элемента управления IE, так что он сливается с окружающими элементами управления. Возможно, разместите это на своей вкладке, и я призываю нетехнического пользователя сказать / позаботиться о том, является ли он элементом управления HTML или нативным.

Я мог бы быть совершенно неправ во всем этом (нужно было бы увидеть это в действии, чтобы определить, сработает ли это), но это может быть проще, чем написать собственный интерактивный редактор Markdown ...

... фактически для реализации собственного редактора C # Markdown, вы можете просто поместить текстовое поле рядом со встроенным элементом управления IE и запустить текущую Markdown через .NET Markdown-> HTML конвертер в отдельном потоке и заменить HTML в элементе управления IE (при условии, что конвертер Markdown-> HTML очень либерален и устойчив против любых ЛЮБЫХ исключений).

0 голосов
/ 28 августа 2008

Разве вы не можете просто использовать тот же элемент управления, который я использую для переполнения стека (который мы все вводим) --- WMD, и просто сохранить Markdown в VARCHAR. Затем используйте конвертер .NET Markdown to HTML, как вы упомянули, для отображения HTML по мере необходимости. Джефф говорит об этом более подробно в подкасте StackOverflow (не знаю номер серии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...