From 1a987b8189ad811a1642dd8fcd255c53d036720a Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Mon, 16 Dec 2019 17:04:00 -0800 Subject: [PATCH] Site static folder and home.html --- site/{ => static}/docs/search.js | 0 site/static/home.html | 172 +++++++++++++++++++++++++++++++ 2 files changed, 172 insertions(+) rename site/{ => static}/docs/search.js (100%) create mode 100644 site/static/home.html diff --git a/site/docs/search.js b/site/static/docs/search.js similarity index 100% rename from site/docs/search.js rename to site/static/docs/search.js diff --git a/site/static/home.html b/site/static/home.html new file mode 100644 index 00000000..2bd950e6 --- /dev/null +++ b/site/static/home.html @@ -0,0 +1,172 @@ + + + + + +4coder + + + + + + +
+
4coder logo
+ +
+ +
4coder is a modern text editor based loosely on Emacs. The primary goal of 4coder is to maximize the power and ease of customization. 4coder also places high priority on performance and portability.
+ +
+ +
Get 4coder: 4coder.itch.io
+ +
+ + + +
+ + + +
+ + + +
+ +
+

Demo Clips for 4coder 4.1.0

+ +
+ +
+ +

Customization in C/C++

+ +
4coder customizations are written in C/C++ and compile to a .dll or .so file that can link to the core. The downside to this, by comparison to the Emacs approach of elisp, is that customizations must be recompiled and so the user needs their compiler setup separately. The advantages are that: first C/C++ allow for more performance oriented customization code, and second any user who already has or often works in C/C++ will be able to leverage their own code in their 4coder customizations.
+ +
+ +

Programmable Buffer Layout

+ +
One special feature of 4coder - and as far as I currently know this feature is unique to 4coder - is programmable buffer layout. In a basic sense this feature allows customization of line wrapping, but it also has many creative uses. "Virtual Whitespace" is a feature in 4coder, powered by programmable buffer layout, where code files are wrapped at points that minimize the disruption of the meaning of the code and automatically positions the wrapped line with an indent in the same way an auto-indenter would. Programmable buffer layout can also be used as the basis to implement code folding and elastic tabs.
+ +
+ +

Custom UIs and "Blocking" Call Wrappers

+ +
4coder's customization API includes hooks for rendering and functions for drawing strings, primitive shapes, and for rendering more intricate buffer layouts. To handle user input, a UI implements an input handling loop that handles all the input sent to a view context. With this architecture a wide range of UI's can be implemented and then wrapped in a "blocking" call. For instance 'get_buffer_from_user' is a call in the default custom layer code that contains all of the user interactions to query the user for a buffer, when the user confirms their decision the call returns the user's choice.
+ +
+ +

Information and Links:

+ +
+ +
+ +
+ +
+ + + \ No newline at end of file