- 1 General
- 2 Terminal editors
- 3 GUI editors
- 4 Markup
- 5 PDF
- 6 Other
- 7 Readers
- 8 Tools
- 9 Technical documentation
- 10 Screenwriting
- 11 Text formatting
- 12 DTP / Office
- 13 Spreadsheets
- 14 Templates
- 15 Presentations
- 16 Contacts
- 17 Collaborative documentation
- 18 Formats
- https://en.wikipedia.org/wiki/Text_editor - a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software, following the naming of Microsoft Notepad. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.
- https://en.wikipedia.org/wiki/TECO_(text_editor) - Text Editor & COrrector is both a character-oriented text editor and a programming language, that was developed in 1962 for use on Digital Equipment Corporation computers, and has since become available on PCs and Unix. Dan Murphy developed TECO while a student at the Massachusetts Institute of Technology (MIT).
According to Murphy, the initial acronym was "Tape Editor and Corrector" because "punched paper tape was the only medium for the storage of program source on our PDP-1. There was no hard disk, floppy disk, magnetic tape (magtape), or network." By the time TECO was made available for general use, the name had become "Text Editor and Corrector," since even the PDP-1 version by then supported other media. It was subsequently modified by many other people and is a direct ancestor of Emacs, which was originally implemented in TECO macros.
- https://en.wikipedia.org/wiki/QED_(text_editor) - a line-oriented computer text editor that was developed by Butler Lampson and L. Peter Deutsch for the Berkeley Timesharing System running on the SDS 940. It was implemented by L. Peter Deutsch and Dana Angluin between 1965 and 1966. QED (for "quick editor") addressed teleprinter usage, but systems "for CRT displays [were] not considered, since many of their design considerations [were] quite different."
- https://en.wikipedia.org/wiki/Ed_(text_editor) - a line editor for the Unix operating system. It was one of the first parts of the Unix operating system that was developed, in August 1969. It remains part of the POSIX and Open Group standards for Unix-based operating systems, alongside the more sophisticated full-screen editor vi.
- https://sourceforge.net/p/joe-editor - Joe is world-famous Wordstar like text editor.
- sandy - a (suckless) ncurses text editor with an easy-to-read, hackable C source. Sandy tries to maximize screen estate, minimize the SLOC used and not get in your way too much. It can somehow be controlled using a named pipe that lives in /tmp and all preferences and keybindings are to be chosen at compile time.
- Kakoune - Modal editor. Faster as in less keystrokes. Multiple selections. Orthogonal design.
- https://github.com/tsujan/FeatherPad - Lightweight Qt5 Plain-Text Editor for Linux
- https://foicica.com/textadept/ Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor.
- WordGrinder is a Unicode-aware character cell word processor that runs in a terminal (or a Windows console). It is designed to get the hell out of your way and let you get some work done.It's designed for writing text. It gets out of your way and lets you type.
- Oni - Mouse-free productivity with the perks of modern code editors. Open-source, cross-platform, and easy to learn.
- https://github.com/olivierkes/manuskript - an open-source tool for writers. Manuskript runs on on GNU/Linux, Mac OS X, and Windows. Manuskript provides a rich environment to help writers create their first draft and then further refine and edit their masterpiece.
- Ted - an easy rich text processor
- https://github.com/fabiospampinato/notable - The markdown-based note-taking app that doesn't suck. 
- Boostnote - Note-taking app for programmers. Apps available for Mac, Windows, Linux, Android, and iOS. Built with Electron, React + Redux, Webpack, and CSSModules.
- https://en.wikipedia.org/wiki/COCOA_(digital_humanities) - was an early text file utility and associated file format for digital humanities, then known as humanities computing. It was approximately 4000 punched cards of FORTRAN and created in the late 1960s and early 1970s at University College London and the Atlas Computer Laboratory in Harwell, Oxfordshire. Functionality included word-counting and concordance building.
The COCOA file format bears at least a passing similarity to the later markup languages such as SGML and XML. A noticeable difference with its successors is that COCOA tags are flat and not tree structured. In that format, every information type and value encoded by a tag should be considered true until the same tag changes its value. Members of the Text Encoding Initiative community maintain legacy support for COCOA, although most in-demand texts and corpora have already been migrated to more widely understand formats such as TEI XML
SGML descended from IBM's Generalized Markup Language (GML), which Charles Goldfarb, Edward Mosher, and Raymond Lorie developed in the 1960s. Goldfarb, editor of the international standard, coined the “GML” term using their surname initials. Goldfarb also wrote the definitive work on SGML syntax in "The SGML Handbook". The syntax of SGML is closer to the COCOA format. As a document markup language, SGML was originally designed to enable the sharing of machine-readable large-project documents in government, law, and industry. Many such documents must remain readable for several decades—a long time in the information technology field. SGML also was extensively applied by the military, and the aerospace, technical reference, and industrial publishing industries. The advent of the XML profile has made SGML suitable for widespread application for small-scale, general-purpose use.
- https://en.wikipedia.org/wiki/Document_type_definition - a set of markup declarations that define a document type for an SGML-family markup language (SGML, XML, HTML). A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list of legal elements and attributes. A DTD can be declared inline inside an XML document, or as an external reference.
XML uses a subset of SGML DTD.
As of 2009, newer XML namespace-aware schema languages (such as W3C XML Schema and ISO RELAX NG) have largely superseded DTDs. A namespace-aware version of DTDs is being developed as Part 9 of ISO DSDL. DTDs persist in applications that need special publishing characters, such as the XML and HTML Character Entity References, which derive from larger sets defined as part of the ISO SGML standard effort.
- "dtinfo"("user) manual page - starts the desktop on-line information browser, also known as the CDE Information Manager. On-line information is typically packaged into an information library (infolib), which is a hierarchy of bookcases containing SGML books (see the dtinfogen(1) command). The browser offers an ability to view, search, and print on-line information with a high degree of control. Bookmarks and annotations may be attached at desired points for later recall.
- http://www.w3.org/TR/NOTE-dcd - Document Content Description for XML
- w3c: XQuery - a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, binary, etc.). The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.
- http://www.xembly.org/ Xembly is an Assembly-like imperative programming language for data manipulation in XML documents. It is a much simplier alternative to XSLT and XQuery. Read this blog post for a more detailed explanation: Xembly, an Assembly for XML.
- XML Linking Language (XLink)
- https://en.wikipedia.org/wiki/XLink - an XML markup language and W3C specification that provides methods for creating internal and external links within XML documents, and associating metadata with those links.
- http://en.wikipedia.org/wiki/XSL - Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render XML documents.
- Lightweight Markup: Markdown, MediaWiki, Wikidot, LaTeX
HTML / CSS
- https://en.wikipedia.org/wiki/DocBook - 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.As a semantic language, DocBook enables its users to create document content in a presentation-neutral form that captures the logical structure of the content; that content can then be published in a variety of formats, including HTML, XHTML, EPUB, PDF, man pages, Web help and HTML Help, without requiring users to make any changes to the source. In other words, when a document is written in DocBook format it becomes easily portable into other formats. It solves the problem of reformatting by writing it once using XML tags.
- AsciiDoc Home Page - a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page.AsciiDoc is highly configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user.AsciiDoc is free software and is licenced under the terms of the GNU General Public License version 2 (GPLv2).
- Asciidoc Book Editor - a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides.
- https://github.com/LibrePDF/OpenPDF - a free Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is based on a fork of iText. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository.
- Homepage Johannes Hofmann - flpsed - a WYSIWYG PostScript annotator. You can't remove or modify existing elements of a document. But flpsed lets you add arbitrary text lines to existing PostScript documents (PostScript is a registered trademark of Adobe Systems Incorporated). Added lines can later be reedited with flpsed. Using pdftops, which is part of xpdf one can convert PDF documents to PostScript and also add text to them. flpsed is useful for filling in forms, adding notes etc. GsWidget is now part of flpsed.
flpsed is released under the GPL.
- https://sourceforge.net/projects/pdfshuffler - a small python-gtk application, which helps the user to merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface. It is a frontend for python-pyPdf.
- https://github.com/2mol/pboy - a small .pdf management utility. It is borne out of the frustration of having a dowload folder full of PDFs with names like 'I08.pdf', '1412.4880.pdf' and so on. Since I want to save some of these files for later reading, it would be helpful to have more descriptive filenames. This tool helps with renaming those files. It will rename/move documents to a specified folder, and it even gives some filename suggestions by looking at the file content and the pdf metadata.
- Okular - a universal document viewer based developed by KDE. Okular works on multiple platforms, including but not limited to Linux, Windows, Mac OS X, *BSD, etc. The last stable release is Okular 1.3, shipped as part of the KDE Applications 17.12 release. Okular combines the excellent functionalities with the versatility of supporting different kind of documents, like PDF, Postscript, DjVu, CHM, XPS, ePub and others. The document format handlers page has a chart describing in more detail the supported formats and the features supported in each of them.
- XpdfReader - a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. Most of the tools are available as open source.
- Pandoc - a universal document converter If you need to convert files from one markup format into another, pandoc is your swiss-army knife. Pandoc can convert documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, LibreOffice ODT, EPUB, or Haddock markup to:
- HTML formats: XHTML, HTML5, and HTML slide shows using Slidy, reveal.js, Slideous, S5, or DZSlides.
- Word processor formats: Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
- Ebooks: EPUB version 2 or 3, FictionBook2
- Documentation formats: DocBook, TEI Simple, GNU TexInfo, Groff man pages, Haddock markup
- Page layout formats: InDesign ICML
- Outline formats: OPML
- TeX formats: LaTeX, ConTeXt, LaTeX Beamer slides
- PDF via LaTeX
- Lightweight markup formats: Markdown (including CommonMark), reStructuredText, AsciiDoc, MediaWiki markup, DokuWiki markup, Emacs Org-Mode, Textile
- Custom formats: custom writers can be written in lua.
- Pandoc understands a number of useful markdown syntax extensions, including document metadata (title, author, date); footnotes; tables; definition lists; superscript and subscript; strikeout; enhanced ordered lists (start number and numbering style are significant); running example lists; delimited code blocks with syntax highlighting; smart quotes, dashes, and ellipses; markdown inside HTML blocks; and inline LaTeX. If strict markdown compatibility is desired, all of these extensions can be turned off.
pandoc -s -r html http://www.gnu.org/software/make/ -o example12.md # Converting a web page to markdown pandoc MANUAL.txt --latex-engine=xelatex -o example13.pdf # From markdown to PDF. Arch Linux package requirements: texlive-core texlive-latexextra # bug: does not work with .md that has too many nested headings! 
- https://github.com/mb21/panrun - Script that looks at the YAML metadata in a markdown file and runs pandoc for you.
- Pandoc Scholar - Create beautiful, semantically enriched articles with pandoc. This package provides utilities to make publishing of scientific articles as simple and pleasant as possible. It simplifies setting authors' metadata in YAML blocks, allows to add semantic annotation to citations, and only requires the programs pandoc and make.
- Docverter - Convert plain text documents written in HTML, Markdown, or LaTeX to PDF, Docx, RTF or ePub with a simple HTTP API. It wraps the following open-source software in a JRuby app: Pandoc for plain text to HTML and ePub conversion, Flying Saucer for HTML to PDF, Calibre for ePub to MOBI conversion
- Docutils - an open-source text processing system for processing plaintext documentation into useful formats, such as HTML, LaTeX, man-pages, open-document or XML. It includes reStructuredText, the easy to read, easy to use, what-you-see-is-what-you-get plaintext markup language.
- Evince - a document viewer for multiple document formats. The goal of evince is to replace the multiple document viewers that exist on the GNOME Desktop with a single simple application.Evince is specifically designed to support the file following formats: PDF, Postscript, djvu, tiff, dvi, XPS, SyncTex support with gedit, comics books (cbr,cbz,cb7 and cbt).
- Bookdown - an open-source R package that facilitates writing books and long-form articles/reports with R Markdown.
- Antora - The multi-repository documentation site generator for tech writers who writing in AsciiDoc. Designed for users of Asciidoctor.
- Celtx - Free Scriptwriting & All-In-One Production Studios - Simplify Your Pre-Production Workflow. Join 5 million creatives using the all-in-one system for video planning. Write the script, prepare the shoot, and take your cast and crew into production.
- Trelby - simple, fast and elegantly laid out to make screenwriting simple. It is infinitely configurable. Trelby is free software, that you can contribute to. Features; Screenplay editor: Enforces correct script format and pagination, auto-completion, and spell checking. Multiplatform : Behaves identically on all platforms, generating the exact same output. Choice of view: Multiple views, including draft view, WYSIWYG mode, and fullscreen to suit your writing style. Name database: Character name database containing over 200,000 names from various countries. Reporting: Scene/location/character/dialogue reports. Compare: Ability to compare scripts, so you know what changed between versions. Import: Screenplay formatted text, Final Draft XML (.fdx), Celtx (.celtx), Fountain (.fountain), Adobe Story (.astx) and Fade In Pro (.fadein). Export: PDF, formatted text, HTML, RTF, Final Draft XML (.fdx) and Fountain (.fountain). PDF: Built-in, highly configurable PDF generator. Supports embedding your chosen font. Also supports generating PDFs with custom watermarks, to help track shared files. Free software: Licensed under the GPL, Trelby welcomes developers and screenwriters to contribute in making it more useful.
- Fountain - a simple markup syntax for writing, editing and sharing screenplays in plain, human-readable text. Fountain allows you to work on your screenplay anywhere, on any computer or tablet, using any software that edits text files. Taking its cues from John Gruber’s Markdown, Fountain files are eminently readable. When special syntax is required, it is straightforward and intuitive. Even when viewed as plain text, your screenplay feels like a screenplay. Fountain supports everything a screenwriter is likely to need in the early, creative phases of writing. Not included are production features such as MOREs, CONTINUEDs, revision marks, locked pages, or colored pages. Because it’s just text, Fountain is also a great format for archiving screenplays without worry of file-format obsolescence or incompatibility.
- Storyboard Fountain - Storyboard Fountain makes it easy to visualize a screenplay as fast you can draw stick figures. Quickly visualize to test if a scene works. Create and show animatics to others. Make your movie without the cost of making a movie.
- Storyboarder - makes it easy to visualize a story as fast you can draw stick figures. Quickly draw to test if a story idea works. Create and show animatics to others. Express your story idea without making a movie.
- https://en.wikipedia.org/wiki/TYPSET_and_RUNOFF - the first computer text formatting program to see significant use. It was written in 1964 for the CTSS operating system by Jerome H. Saltzer in MAD and FAP. 1973.
- https://en.wikipedia.org/wiki/Runoff_(program) - 1979?, was the text formatting program on the Multics operating system.
- LyX is a document processor that encourages an approach to writing based on the structure of your documents (WYSIWYM) and not simply their appearance (WYSIWYG).
- Detexify - LaTeX handwritten symbol recognition. Anyone who works with LaTeX knows how time-consuming it can be to find a symbol in symbols-a4.pdf that you just can't memorize. Detexify is an attempt to simplify this search.
DTP / Office
LibreOffice / OpenOffice
- https://help.libreoffice.org/Common/Number_Format_Codes - no ordinal suffixes!
- Template Releases: Writer
- LibreOffice Writer: Creating Templates
- Getting Started Guide: Chapter 3 - Using Styles and Templates - pdf
- WollMux is an OpenOffice.org plugin with enhanced template, form, and autotext functionality. It can construct templates on the fly from multiple files (e.g. letterhead, footer, and body text) and will fill in personal and organizational data from various databases such as LDAP. An extra form GUI presents fields in an easily navigable manner and offers plausibility checks and computed values to ease filling in the form. Chainable printing functions allow various transformations during print and custom dialogs.
- WPS Office - The Most Compatible Free Office Suite
See also WebDev#Authoring
- http://www.trelby.org/ - screenwriting
- http://dictator.kieranholland.com/dictator.html - reading (rapid serial)
- http://www.theguardian.com/commentisfree/2016/jan/03/visicalc-software-first-killer-app-john-naughton 
- https://github.com/andmarti1424/sc-im - Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal
- http://opentemplate.org/ - odf
- http://www.psprint.com/design-templates/letterhead/ - inspiration
- http://www3.nd.edu/~sbyrnes1/pdf/Writing_Resources/Sample_Letter_Format.pdf - american
- p_slides - create simple way to create semantic, nice to look at slides - without any dependencies
- https://github.com/visit1985/mdp - A command-line based markdown presentation tool.
- https://github.com/thorstenb/odpdown - Generate OpenDocument Presentation (odp) files from markdown
- GitPitch - The Markdown Presentation Service on Git; - Markdown → Git → Slideshow. The Markdown Presentation Service for everyone on GitHub, GitLab, and Bitbucket. Using the tools you already know and love ~ Markdown + Git.
- Asciidoctor Reveal.js - a converter for Asciidoctor and Asciidoctor.js that transforms an AsciiDoc document into an HTML5 presentation designed to be executed by the reveal.js presentation framework.
- https://github.com/webpro/reveal-md - reveal.js on steroids! Get beautiful reveal.js presentations from any Markdown file
reveal-md slides.md --static _site
- https://github.com/gnab/remark - A simple, in-browser, markdown-driven slideshow tool targeted at people who know their way around HTML and CSS
- https://en.wikipedia.org/wiki/Powerpoint_Karaoke - also known as Battledecks or Battle Decks, is an improvisational activity in which a participant must deliver a presentation based on a set of slides that they have never seen before. Its name is derived from Microsoft PowerPoint, a popular presentation software, and karaoke, an activity in which a performer sings along with a pre-recorded backing track (although there is usually no music or singing involved in PowerPoint Karaoke). The effect is intended to be comical, and PowerPoint Karaoke can be considered a form of improvisational theatre, or a type of Theatresports game. The presentation can either be a real slideshow on an arcane topic, or a set of real slides from different presentations that are nonsensical when assembled together, or slides that are nonsensical on their own (in some cases created by randomly downloading images from the internet and adding unrelated text). In some cases, the presenter is given a theme beforehand that they must attempt to tie all the slides into.
- Slidefest - Powerpoint Karaoke Reinvented
- https://github.com/scheibler/khard - Console carddav client
- Infinote protocol provides real-time collaborative editing of documents with the main focus being on collaborative plain text editing. In the meanwhile there are quite a few solutions out there, but all of them implement a different protocol and thus cannot be used with other tools. Our goal is to provide a flexible yet powerful open framework and clients for various environments that can interoperate with each other.
- Gobby is a free collaborative editor supporting multiple documents in one session and a multi-user chat. It runs on Microsoft Windows, Mac OS X, Linux and other Unix-like platforms.
- http://marijnhaverbeke.nl/blog/prosemirror.html 
- Collabora - LibreOffice online office suite that supports all major document, spreadsheet and presentation file formats, which you can integrate in your own infrastructure. Key features are collaborative editing and excellent office file format support.
Often zen like.
- https://www.jottit.com/ - zen-ish
- https://paste.sh/about - locally saved, encrypted
- http://coedit.me/ - code highlighting, vim/emacs
- http://onword.co/ - twitter login
- YouTube: [https://www.youtube.com/watch?v=3cLwh7YR6Sc CryptPad Encrypted collaborative editing without trusting the server
- https://github.com/CompuIves/codesandbox-client - An online code editor tailored for web applications. CodeSandbox allows developers to simply go to a URL in their browser to start building. This not only makes it easier to get started, it also makes it easier to share. You can just share your created work by sharing the URL, others can then (without downloading) further develop on these sandboxes.
- Best File Formats for Archiving - This guide compares common file formats for the purpose of digital archiving and preservation. It also discusses how to choose a resolution for images, and how to choose a sampling rate and a bit rate for MP3 audio files. Disclaimer: All of the below is provided as my personal opinion only, without guarantee for completeness or correctness. The current version of this text is 2018-01-13.