This application (FidoEdit) is a FGHI-compatible editor of Fidonet messages.
FidoEdit is designed to be called by a GoldED-compatible editor (such as GoldED+ or GoldED-NSF) as an external editor.
This application is currently in an early phase of its development and thus does not have the desired level of feature completeness.
-
FidoEdit is written in HTML5 + CSS + JavaScript and uses the latest nw.js engine to run. A system supported by nw.js (such as Windows, or Linux, or Mac OS X) is required.
-
FidoEdit currently requires Node.js and npm to be present (installed) on your system; the version of npm must be 3.0.0 or greater. (Usually Node.js installers install both Node.js and npm.)
-
FidoEdit currently uses ParaType's fonts of three font families: PT Sans, PT Serif, PT Mono. These families were released by ParaType with an open user license; use the corresponding ParaType's web page (in English or in Russian) to download these fonts and install them on your system.
-
Latest packaged version:
npm install -g fidoedit
-
Latest githubbed version:
npm install -g https://github.com/Mithgol/fidoedit/tarball/master
The application becomes installed globally (for example, in node_modules/fidoedit
subdirectory in your Node's directory) and appears in your PATH
.
You may use fidoedit
command to run the application.
You should create a configuration file for the installed FidoEdit (in its directory) before you launch it.
Instead of the above, download the ZIP-packed source code of FidoEdit and unpack it to some directory. Then run npm install --production
in that directory.
Unlike the global installation (npm -g
), the application does not appear in the PATH
, and thus you'll have to run it directly from the application's directory. You'll also have to run node fidoedit
instead of fidoedit
.
If you install FidoEdit in a directory on a portable drive (such as a USB flash drive), you may move it to a different system and run FidoEdit there if the following requirements are met:
-
The platform has to be the same (i.e. move from Linux to Linux, or from Windows to Windows, or from Mac OS X to Max OS X).
-
The architecture has to be the same (i.e. move from a 32-bit system to 32-bit or from 64-bit system to 64-bit).
-
It is also possible to run FidoEdit on a 64-bit Windows if FidoEdit was originally installed on a 32-bit Windows, but not vice versa.
-
Node.js has to be installed on the target system.
More than 250 megabytes of dependencies are installed. Most of them contain dozens of small files with source code and metadata. An installation on a low-speed (USB 2.0) flash drive may take, for example, half an hour on a system with a limited Internet connection.
After the installation you may receive an npm warning saying that node-webcrypto-ossl
(an optional dependency of JavaScript IPFS API) could not be installed. It happens if you do not have C++ build tools for Windows (or their Linux or macOS counterparts) required to build that dependency on your system, or if such tools are incomplete or outdated.
Ignore the warning. The dependency is optional and IPFS API is able to work without it.
FidoEdit uses the configuration given in the file fidoedit.conf
in FidoEdit's directory (in the same directory where FidoEdit's package.json
resides).
You may use fidoedit.conf-example
as an example. (Or even copy fidoedit.conf-example
to fidoedit.conf
and edit in your favourite text editor.)
The following configuration option is supported:
- The line
IPFS servername:portnumber
(in the example,IPFS localhost:5001
) should contain an address (such aslocalhost
) and a port (such as5001
) of an IPFS daemon's HTTP API. (If that line is present in the configuration, such IPFS daemon can be used is used to publish files that illustrate Fidonet messages.) The default value (localhost:5001
) implies that the daemon runs locally and uses the default port settings ofgo-ipfs
.
Any version of GoldED (for example, GoldED+ or GoldED-NSF) can be configured to use FidoEdit as an external editor.
The corresponding configuration line has to be added to the GoldED's configuration to enable such use of FidoEdit.
The configuration usually resides in the main GoldED's configuration file (usually called golded.cfg
or gedcyg.cfg
) and the added line defines an external editor.
To launch a global installation of FidoEdit, use the following line:
Editor fidoedit --line=@line "--file=@file"
To launch a local installation of FidoEdit, use the following line:
Editor node \path\to\FidoEdit\fidoedit --line=@line "--file=@file"
-
Substitute
\path\to\FidoEdit
with the real path that leads to FidoEdit on your system. -
If not on Windows,
/
instead of\
is likely to be used in your paths.
Afterwards GoldED would let you choose (and use) FidoEdit as your external editor of a Fidonet message's body when you finish editing that message's header.
GoldED's behaviour is additionally controlled by the configuration settings EDITMENU
and EDITINTERNAL
(as described on page 42 of GoldED+ 1.0.0 Reference Manual):
-
EditMenu yes
(default) allows you to explicitly choose the internal or the external editor before editing the message's body.EditMenu no
immediately launches the preferred editor. -
EditInternal yes
(default) makes the internal editor the preferred one.EditInternal no
makes the external editor the preferred one. -
Caution: you won't be able to launch FidoEdit if
EditMenu no
andEditInternal yes
are simultaneously in effect (because in that case GoldED would prefer its own internal editor).
GoldED's behaviour is additionally controlled by the configuration setting EDITHARDLINES
(as described on page 40 of GoldED+ 1.0.0 Reference Manual):
-
EditHardLines No
allows GoldED to read the editor message file exactly as entered. This setting is required for FidoEdit because FidoEdit does not try to insert linebreaks (and therefore does not resemble those earlier editors thatEditHardLines Yes
was designed against). -
Even with
EditHardLines No
GoldED itself breaks long lines of text (inserts additional linebreaks in the editor message file) before GoldED calls FidoEdit. (It seems to be a bug in GoldED because it introduces the same “ragged quotes” that are condemned on page 7 of GoldED+ 1.0.0 Users Guide Manual.) Therefore you can use FidoEdit to create long lines of text, but not to re-edit them.
It is necessary to install JSHint for testing.
- You may install JSHint globally (
npm install jshint -g
) or locally (npm install jshint
in the directory of FidoEdit).
After that you may run npm test
(in the directory of FidoEdit). Only the JS code errors are caught; the code's behaviour is not tested.
MIT License (see the LICENSE
file), with the following exceptions:
-
The directory
bootstrap
contains Bootstrap version 3.3.7 (customized to use ParaType's fonts and to refrain from containing Glyphicons) under its own [MIT license]((https://github.com/twbs/bootstrap/blob/master/LICENSE). -
The file
jsload.gif
is generated on http://ajaxload.info/ where the terms of the Do What The Fuck You Want To Public License are said to apply.