In computing, What You See Is What You Mean (WYSIWYM, /ˈwɪziwɪm/ ) is a paradigm for editing a structured document. It is an adjunct to the WYSIWYG (What You See Is What You Get) paradigm, which displays the result of a formatted document as it will appear on screen or in print—without showing the descriptive code underneath. [1] [2]
In a WYSIWYM editor, the user writes the contents in a structured way, marking the content according to its meaning, its significance in the document, and leaves its final appearance up to one or more separate style sheets. In essence, it aims to accurately display the contents being conveyed, rather than the actual formatting associated with it. [3]
For example, in a WYSIWYM document, one would manually mark text as the title of the document, the name of a section, the caption associated with a figure, or the name of an author; this would in turn allow one element, such as section headings, to be rendered as large bold text in one style sheet, or as red center justified text in another, without further manual intervention. [4] More often than not, this requires the semantic structure of the document to be decided in advance before writing it. The editor also needs a system for exporting structured content to generate the document's final format, following the indicated structure.
The main advantage of this system is the total separation of content and presentation: users can structure and write the document once, rather than repeatedly alternating between the two modes of presentation—an approach which comes with its own switch cost. And since the rendering of formatting is left to the export system, this also makes it easier to achieve consistency in design as well.
Unlike an unstructured, fixed-presentation document, a document processor rather than a word processor must be used for WYSIWYM. The first document processor which articulated [5] itself through the WYSIWYM term was LyX document processor, although similar concepts can be traced back to earlier publishing systems such as LaTeX, TPS (modeled on pioneering experiments at Xerox PARC) and FrameMaker.
For example, in FrameMaker, a document may be authored (i.e., viewed and edited) using two possible page views, the styling tags (called "formats") and contents of a document reside in "body pages", while structure and presentation are defined by "master pages". [a] Multiple such documents can be linked together and programmed conditionally for a variety of applications. These elements can then be exported to corresponding tags which preserve some or all of their functionality in a markup language such as XML/HTML/CSS and PDF, or directly rendered down for final presentation in anything from PostScript to raw text.
A different approach to the WYSIWYM philosophy is taken by GNU TeXmacs, which combines the on-screen representation of the document structure with an almost-faithful WYSIWYG rendering. [7]
Major software vendors have integrated web-page creation features into their WYSIWYG products to increase their utility. Users can create an HTML web page in a word processor with no knowledge of HTML, but like nearly all IDE authored or handwritten web markup, these tools' automated analysis of the source format rarely accounts for a distinction between HTML's content and its presentation through means such as CSS during output.[ citation needed ]
Such fixed-presentation HTML generators have been criticized, primarily because of the bloatedness and low quality of their code, [8] [9] [10] and there are voices advocating for changes to the WYSIWYM model. [11] [12] [13]
One example of a WYSIWYM Web page editor is WYMeditor. [14] In this editor, the structure of the documents is defined by the class attributes of HTML elements. These classes also allow the final appearance of the document to be applied. Although WYMeditor follows a WYSIWYM model, the document format is always HTML, so the new structures to be defined are limited to new classes, and the final document will always be built by applying presentational elements to these classes.
Other CMSs are moving in the direction of providing some WYSIWYM interface for their users editing content.
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript, a programming language.
LaTeX is a software system for typesetting documents. LaTeX markup describes the content and layout of the document, as opposed to the formatted text found in WYSIWYG word processors like Google Docs, LibreOffice Writer, and Microsoft Word. The writer uses markup tagging conventions to define the general structure of a document, to stylize text throughout a document, and to add citations and cross-references. A TeX distribution such as TeX Live or MiKTeX is used to produce an output file suitable for printing or digital distribution.
A markuplanguage is a text-encoding system which specifies the structure and formatting of a document and potentially the relationships among its parts. Markup can control the display of a document or enrich its content to facilitate automated processing.
Wiki software is collaborative software that runs a wiki, which allows the users to create and collaboratively edit pages or entries via a web browser. A wiki system is usually a web application that runs on one or more web servers. The content, including previous revisions, is usually stored in either a file system or a database. Wikis are a type of web content management system, and the most commonly supported off-the-shelf software that web hosting facilities offer.
In computing, WYSIWYG, an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web page, or slide presentation. WYSIWYG implies a user interface that allows the user to view something very similar to the result while the document is being created. In general, WYSIWYG implies the ability to directly manipulate the layout of a document without having to type or remember names of layout commands.
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software, but it can be used for any other sort of documentation.
Desktop publishing (DTP) is the creation of documents using dedicated software on a personal ("desktop") computer. It was first used almost exclusively for print publications, but now it also assists in the creation of various forms of online content. Desktop publishing software can generate page layouts and produce text and image content comparable to the simpler forms of traditional typography and printing. This technology allows individuals, businesses, and other organizations to self-publish a wide variety of content, from menus to magazines to books, without the expense of commercial printing.
Adobe FrameMaker is a document processor designed for writing and editing large or complex documents, including structured documents. It was originally developed by Frame Technology Corporation, which was bought by Adobe.
An HTML editor is a program used for editing HTML, the markup of a web page. Although the HTML markup in a web page can be controlled with any text editor, specialized HTML editors can offer convenience, added functionality, and organisation. For example, many HTML editors handle not only HTML, but also related technologies such as CSS, XML and JavaScript or ECMAScript. In some cases they also manage communication with remote web servers via FTP and WebDAV, and version control systems such as Subversion or Git. Many word processing, graphic design and page layout programs that are not dedicated to web design, such as Microsoft Word or Quark XPress, also have the ability to function as HTML editors.
LyX is an open source, graphical user interface document processor based on the LaTeX typesetting system. Unlike most word processors, which follow the WYSIWYG paradigm, LyX has a WYSIWYM approach, where what shows up on the screen roughly depicts the semantic structure of the page and is only an approximation of the document produced by TeX.
GNU TeXmacs is a scientific word processor and typesetting component of the GNU Project. It originated as a variant of GNU Emacs with TeX functionalities, though it shares no code with those programs, while using TeX fonts. It is written and maintained by Joris van der Hoeven and a group of developers. The program produces structured documents with a WYSIWYG user interface. New document styles can be created by the user. The editor provides high-quality typesetting algorithms and TeX and other fonts for publishing professional looking documents.
An XML editor is a markup language editor with added functionality to facilitate the editing of XML. This can be done using a plain text editor, with all the code visible, but XML editors have added facilities like tag completion and menus and buttons for tasks that are common in XML editing, based on data supplied with document type definition (DTD) or the XML tree.
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightweight markup languages are used in applications where it may be necessary to read the raw document as well as the final rendered output.
The following tables compare general and technical information for a number of document markup languages. Please see the individual markup languages' articles for further information.
Tableless web design is a web design method that avoids the use of HTML tables for page layout control purposes. Instead of HTML tables, style sheet languages such as Cascading Style Sheets (CSS) are used to arrange elements and text on a web page.
An online rich-text editor is the interface for editing rich text within web browsers, which presents the user with a "what-you-see-is-what-you-get" (WYSIWYG) editing area. The aim is to reduce the effort for users trying to express their formatting directly as valid HTML markup.
Semantic HTML is the use of HTML markup to reinforce the semantics, or meaning, of the information in web pages and web applications rather than merely to define its presentation or look. Semantic HTML is processed by traditional web browsers as well as by many other user agents. CSS is used to suggest how it is presented to human users.