2008-08-27 37 views
5

[Chúng tôi có một ứng dụng front-end cơ sở dữ liệu Windows Forms, trong số những thứ khác, có thể được sử dụng như một CMS; khách hàng tạo cấu trúc, điền vào nó, và sau đó sử dụng một ASP.NET WebForms dựa trên trang web để trình bày các kết quả công khai trên Web. Để tăng tính linh hoạt, đôi khi chúng buộc phải nhập vào đánh dấu HTML thực tế ngay vào trường văn bản, sau đó kết thúc dưới dạng một varchar trong cơ sở dữ liệu. Công cụ này hoạt động nhưng không thân thiện với người dùng.]Điều khiển WYSIWYG Markdown cho Windows Forms?

Vì vậy, một số khách hàng muốn có trình soạn thảo WYSIWYG cho HTML. Tôi muốn thuyết phục họ rằng họ sẽ được hưởng lợi từ việc sử dụng ngôn ngữ đơn giản hơn (cụ thể là Markdown). Lý tưởng nhất, những gì tôi muốn có là một trình soạn thảo WYSIWYG cho điều đó. Họ không cần bàn, hay bất cứ thứ gì phức tạp như thế.

Tìm kiếm cursory tiết lộ a .NET Markdown to HTML converter và sau đó chúng tôi có a Windows Forms-based text editor that outputs HTML, nhưng dường như không có gì mang cả hai lại với nhau. Kết quả là, chúng tôi vẫn sẽ có các varchars của chúng tôi với đánh dấu trong đó, nhưng ít nhất nó sẽ được cả hai người khá dễ đọc và vẫn dễ dàng phân tích cú pháp.

Đây có phải là trình soạn thảo WYSIWYG xuất ra Markdown, sau đó được phân tích cú pháp thành HTML trong ASP.NET - có khả thi không? Bất kỳ đề xuất thay thế nào?

Trả lời

0

Bạn không thể chỉ sử dụng cùng một điều khiển mà tôi sử dụng Stack Overflow (tất cả chúng ta đang gõ vào) --- WMD, và chỉ lưu trữ Markdown trong VARCHAR. Sau đó, sử dụng trình chuyển đổi .NET Markdown to HTML, như bạn đã đề cập, để hiển thị HTML khi cần. Jeff nói về điều này chi tiết hơn trong một podcast StackOverflow (không biết số tập).

+0

OP explicity cho biết WINDOWS FORMS. – nathanchere

0

Ngoài Jared: nó ở trong Episode 11 at the middle part. Bạn có thể tải nó here

+0

Điều này sẽ tốt như một bình luận (peeve thú cưng của tôi, xin vui lòng không mang nó cá nhân!) –

1

Có thể bạn không chỉ sử dụng cùng một kiểm soát Tôi Stack Overflow sử dụng (mà tất cả chúng ta gõ vào) --- WMD, và chỉ lưu trữ các Markdown trong VARCHAR.

Đó là điều khiển web. Đầu vào xảy ra trong Windows Forms, do đó sẽ không hoạt động.

0

@Soeren,

Bạn chắc chắn có thể nhúng IE bằng trình chỉnh sửa Javascript Markdown bên trong ứng dụng Windows Forms.

-1

điều khiển RichTextBox

Vì vậy, bạn muốn sử dụng Markdown nhưng bạn muốn người dùng không biết điều đó? Đây có thể không phải là một mục tiêu đạt được. Tôi nghĩ điểm Markdown là nó hướng đến các nhà văn sẵn sàng tìm hiểu một chút cú pháp khá tự nhiên và chỉnh sửa mọi thứ trong văn bản thuần túy (như Wikipedia? Có trình soạn thảo WYSIWYG thuần túy cho điều đó? Có lẽ ... và có lẽ một số người biên tập Wikipedia khác phải đến và dọn dẹp đánh dấu và định dạng kết quả ...). Nếu bạn muốn nó được minh bạch cho người dùng (như MS Word) Markdown có thể không phải là những gì bạn muốn hoặc cung cấp cho bạn những lợi thế nó quảng cáo trong tình huống đó.

Các đầu vào sẽ xảy ra trong Windows Forms

Oops! Bây giờ tôi hiểu rõ hơn câu hỏi của bạn. Tôi đoán nó phụ thuộc vào cách ứng dụng Windows Forms của bạn trông như thế nào nếu điều khiển IE được nhúng vào như một ngón tay cái bị đau. Nếu bạn thử nó, bạn có thể thấy rằng bạn có thể làm cho nó hoạt động.[1]

Ở vị trí của bạn, tôi sẽ cố gắng một cái gì đó như thế này [2]:

Nếu bạn không nghĩ rằng loại sắp xếp sẽ đi qua tốt với bạn người dùng, (đặc biệt là tất cả các chỉnh sửa trong cửa sổ chỉ có văn bản) sau đó một lần nữa tôi không nghĩ rằng Markdown là câu trả lời cho ứng dụng cụ thể của bạn. Nếu bạn nghĩ rằng người dùng của bạn đang quan tâm đến ý tưởng chỉnh sửa văn bản thuần túy, thì tôi cá là chúng tôi có thể tìm ra giải pháp. Vui lòng làm rõ?

Jared.

[1] Tôi đã thành công khi thả điều khiển IE HTML vào dự án để hiển thị một số kết quả được tạo dưới dạng PDF (sử dụng trình cắm IE Reader như Adobe Reader hoặc Foxit). Người dùng không có ý tưởng rằng một phần của GUI là một điều khiển IE, nó chỉ hiển thị tệp PDF, cho phép in và lưu, v.v.

[2] ... nhưng loại bỏ các đường viền và thực hiện hai điều khiển tách tất cả bốn cạnh của điều khiển IE nhúng, hoặc rất gần ... giữ cho nó có màu xám hoặc trắng nhạt, ví dụ, và loại bỏ bất kỳ đường viền nào của điều khiển IE để nó hòa trộn vào các điều khiển xung quanh. Có thể đặt điều này trên trang tab riêng của nó và tôi thách thức một người dùng phi kỹ thuật để nói/quan tâm nếu đó là điều khiển HTML hoặc gốc.

Tôi hoàn toàn có thể là sai về tất cả điều này (người ta sẽ phải thấy điều này trong hành động để xác định xem nó sẽ làm việc) nhưng nó có thể được dễ dàng hơn so với văn bản biên tập Markdown tương tác của riêng bạn ...

... thực sự để thực hiện trình soạn thảo C# Markdown của riêng bạn, bạn có thể chỉ cần đặt một hộp soạn thảo văn bản bên cạnh điều khiển IE được nhúng và chạy Markdown hiện tại thông qua trình chuyển đổi .NET Markdown-> trên một luồng riêng biệt và thay thế HTML trong điều khiển IE (giả sử trình chuyển đổi Markdown-> HTML rất tự do và mạnh mẽ chống lại việc ném bất kỳ ngoại lệ nào).

0

"WYSIWYG Markdown" thực sự là một oxymoron vì toàn bộ điểm Markdown là cho phép bạn viết cú pháp đánh dấu một cách tự nhiên và trực quan sau đó được xử lý sau thành html, trừ khi ** và hiển thị nó như là ** văn bản * * chẳng hạn. Điều đó thực sự rất tuyệt, nhưng sẽ rất khó cho những thứ như danh sách đánh số và dấu đầu dòng, vì bạn sẽ phải thực hiện tất cả các vị trí, nhưng vẫn giữ mọi thứ dựa trên các ký tự thực tế (ví dụ '*' thay vì ký hiệu dấu đầu dòng) và hỗ trợ định vị đầu vào văn bản thích hợp, backspace, vv

  • Ví dụ,
  • trong danh sách bullet này,
  • đạn thực sự sẽ phải dấu hoa thị,
  • và khoảng cách sẽ không thực sự ở đó.

Điều đó chắc chắn sẽ đáng chú ý nếu ai đó đã giải quyết nó.

Các vấn đề liên quan