Skip to content
This repository has been archived by the owner on Nov 26, 2022. It is now read-only.
Artem Danilov edited this page May 29, 2021 · 9 revisions

Welcome to the Markdown Editor wiki!

Основные характеристики проекта

Наименование и цель проекта

WYSIWYG Markdown редактор текста.

Анализ пользователей

Типы пользователей:

  • Программисты / технические редакторы / технически подкованные люди. Данная группа пользователей рассматривается в виде основной аудитории пользователей проекта, целью которого является предоставления удобного интерфейса редактирования самого популярного языка для документации, а также возможность его экспорта для пересылки другим людям или публикации.

    Сценарии использования: написание документации / описания проекта. Отправка созданных руководств пользователям их продуктов.

  • Люди без глубоких технических знаний с потребностью в простом создании документом с форматированием. Данная группа пользователей рассматривается в виде потенциала развития проекте и популяризации Markdown. Самый популярный редактор текста - MS Word не является ПО с открытым исходным кодом, а также предъявляет всё большие требования к ПК, на котором запускается. В данных обстоятельствах альтернативой для создания удобочитаемых документов в формате PDF может являться язык текстовой разметки Markdown в интерфейсе, облегчающем его использование.

    Сценарии использования: написание любых повседневных документов, не требующих сложного оформления.

Анализ предметной области

Текстовый редактор

Текстовый редактор – самостоятельная компьютерная программа или компонент программного комплекса, предназначенная для создания и изменения текстовых данных в общем и текстовых файлов в частности, а также для печати документов.

Текстовые редакторы предназначены для работы с текстовыми файлами в интерактивном режиме. Они позволяют просматривать содержимое текстовых файлов и производить над ними различные действия — вставку, удаление и копирование текста, контекстный поиск и замену, сортировку строк, просмотр кодов символов и конвертацию кодировок, печать и т. п.

Часто интерактивные текстовые редакторы содержат дополнительную функциональность, призванную автоматизировать действия по редактированию, или отображают текстовые данные специальным образом (например, с подсветкой синтаксиса или автоматическим форматированием).

Многие текстовые редакторы являются редакторами исходного кода, то есть они ориентированы на работу с текстами программ на тех или иных компьютерных языках.

Текстовые редакторы, способные видоизменять содержание документа, также называют текстовыми процессорами. Текстовые процессоры ориентированы на оформление и форматирование текстов и внедрение в них сторонних объектов (шрифтов, таблиц, формул, графиков т. п.) и характеризуются наличием WYSIWYG-режимов. Поскольку в текстовом формате не предусмотрено хранение информации об оформлении текста, текстовые процессоры работают либо с файлами, в которых тексты представлены в обрамлении какого-либо языка разметки вроде HTML, либо с файлами в собственных «двоичных» форматах.

Markdown

Markdown — язык текстовой разметки, созданный писателем и блогером Джоном Грубером. Он предназначен для создания красиво оформленных текстов в обычных файлах формата TXT. Вам не нужны громоздкие процессоры вроде Word или Pages, чтобы создавать документы с жирным или курсивным начертанием, цитатами, ссылками и даже таблицами. Достаточно запомнить простые правила Markdown, и можно писать хоть в «Блокноте». Хотя специализированные Markdown-редакторы, конечно, намного удобнее.

Подробнее про Markdown можно прочитать здесь.

Анализ задач и разработка архитектуры

Три основные задачи:

  1. Разработать удобный текстовый редактор с возможностью ввода текста и удобного графического его форматирования в контексте синтаксиса Markdown;
  2. Реализовать рендеринг в реальном времени для наглядного представления;
  3. Реализовать возможность экспорта в PDF.

UML of project

Используемые библиотеки

JavaFX

JavaFX — платформа на основе Java содержащая инструменты для создания кроссплатформенных графических приложений на Java.

iTextPDF

iTextPDF — платформа написанная на Java и .NET, которая позволяет интегрировать функции PDF в проект

RichTextFX

RichTextFX предоставляет текстовую область для JavaFX с API для стилизации диапазонов текста. Он предназначен как основа для редакторов форматированного текста и редакторов кода с подсветкой синтаксиса.

Итоги и описания итераций

Результаты работы представлены в данном разделе Вики.