Formiko is reStructuredText and MarkDown editor and live previewer.
Project description
Formiko is reStructuredText and MarkDown editor and live previewer. It is written in Python with Gtk3, GtkSourceView and Webkit2. Use Docutils and recommonmark Common Mark parser. If you want to donate development, you can do by paypal link.
Features:
GtkSourceView based editor with syntax highlighting
possible use Vim editor
vertical or horizontal window splitting
preview mode with auto scroll
periodic save file
json and html preview
spell check
linked file opening
It support these parsers and writers:
Docutils reStructuredText parser - http://docutils.sourceforge.net
MarkDown to reStructuredText convertor (M2R) - https://github.com/miyakogi/m2r
Common Mark parser - https://github.com/rtfd/recommonmark
Docutils HTML4, S5/HTML slide show and PEP HTML writer - http://docutils.sourceforge.net
Tiny HTML writer - https://github.com/ondratu/docutils-tinyhtmlwriter
Yet another HTML writer - https://github.com/masayuko/docutils-htmlwriter
HTML 5 writer - https://github.com/Kozea/docutils-html5-writer
Vim support
Formiko have Vim editor support aka formiko-vim command. This run Vim editor in GtkSocket. At this moment, this socket work only on X11 backend, so this is not work on Wayland yet.
- There is bug for GTK+:
Bug 721224 - please add support for GtkSocket/GtkPlug in Wayland backend
Requirements:
python 2.7 or 3
GTK+3
gobject-introspection
PyGObject
Webkit2 4.x
GtkSourceView 3.x
gir files for all Gtk libraries
GtkSpell3
docutils - reStrucured support
recommended:
m2r - converting MarkDown to reStructuredText
recommonmark - for Common Mark support (MarkDown)
Pygments - syntax color in html output code blocks
optionally:
Python:
docutils-tinyhtmlwriter
docutils-html5-writer
System:
vim-gtk or vim-gnome for formiko-vim
development:
pygobject-stubs
Installation
Flatpak
Formiko exist in Flathub repository as cz.zeropage.Formiko. If you are new with Flatpak, see setup guide.
# add Flathub repository as root
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# install Formiko as user
flatpak install flathub cz.zeropage.Formiko
# run Formiko
flatpak run cz.zeropage.Formiko
Debian based
Debian based distributions use sometimes versions in package names. Here are example for Debian Stretch version. If you use different version, your gtksource or webkit2 could have another version name.
# python3.5, gtk3, librsvg etc are in dependencies
apt install python3-pip python3-gi python3-docutils gir1.2-gtksource-4 \
gir1.2-webkit2-4.1 gir1.2-gtkspell3-3.0 python3-mr2
pip3 install formiko
# optionaly
apt install vim-gtk3
pip3 install docutils-tinyhtmlwriter recommonmark docutils-html5-writer
Formiko is in Debian and Ubuntu repository. So you can install it standard way.
NetBSD
There is not GtkSpell3 on NetBSD, which is need for next 1.3.x version. So you must use 1.2.x bug fix release.
Installation process can be different for each BSD releases. It’s about which Python release is default. By this, you can change pyXX to your right version.
NetBSD use pkgsrc, so some binaries are stored in /usr/pkg/bin directory. Formiko call vim and gvim directly. If you want to use vim version with pkgsrc, you must fix VIM_PATH variable in formiko/vim.py file.
# python3.6 is in dependecies as like gtk3
pkgin install py36-pip py36-gobject3 py36-docutils gtksourceview4 \
librsvg webkit-gtk py36-pygments
pip3.6 install formiko
# optionaly
pkgin install vim-gtk3
pip3.6 install docutils-tinyhtmlwriter recommonmark docutils-html5-writer
FreeBSD
Installation process can be different for each BSD releases. It’s about which Python release is default. By this, you can change pyXX to your right version.
On FreeBSD you must install all these packages:
pkg install py37-gobject3 py37-docutils py37-pygments py37-pip \
gtksourceview4 webkit2-gtk3 gtkspell3 gobject-introspection \
librsvg2 adwaita-icon-theme
Optionaly
pkg install en-hunspell # or other language you want
pip-3.7 install docutils-tinyhtmlwriter docutils-html5-writer m2r
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file formiko-1.5.0.tar.gz
.
File metadata
- Download URL: formiko-1.5.0.tar.gz
- Upload date:
- Size: 105.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d0fd315cc9e1ef9c113a752a3e618dc27d2127227c199323d4002ecf3c04622 |
|
MD5 | a1663205c4a2c4c72e7f0353bdca09df |
|
BLAKE2b-256 | 9b4b623af4287b12f34d495a71aac5a46481c7bd3ed66755cec2d2bcf88e5844 |
File details
Details for the file formiko-1.5.0-py3-none-any.whl
.
File metadata
- Download URL: formiko-1.5.0-py3-none-any.whl
- Upload date:
- Size: 117.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 534c6c20c3b5883ee878742af07d8f69e7d737f0968c221e5293e5ce103c4d69 |
|
MD5 | 8f3f72a37a46754b223d8f79afeb7d8f |
|
BLAKE2b-256 | a65ecee4414628caae5c8a1dedaf15fbd2901e85bc1fd385fb2a7df82808dc7d |