blackhole89 / notekit

A GTK3 hierarchical markdown notetaking application with tablet support.
GNU General Public License v3.0
1.43k stars 60 forks source link
markdown-editor notetaking-applications tablet vector-graphics

NoteKit

This program is a structured notetaking application based on GTK+ 3. Write your notes in instantly-formatted Markdown, organise them in a tree of folders that can be instantly navigated from within the program, and add hand-drawn notes by mouse, touchscreen or digitiser.

Screenshot

We have a Discord server and a bridged Matrix space for questions and discussing the project's development.

Why?

I figured it would be nice to have a free-software, platform-independent OneNote. While there is a remarkable number of free (speech or beer) notetaking applications out there, to my best knowledge, none of them simultaneously check the following boxes:

How to install

automated build

The automated builds are by far the most up-to-date and should generally be as stable as any of the builds, although they are naturally less tested.

Moreover, there is also

The following older binary builds are also available:

To run the binary, you will in addition require at least the following packages: libgtkmm-3.0-1v5 libgtksourceviewmm-3.0-0v5 libjsoncpp1 zlib1g libxml2, where the version of libgtkmm-3.0-1v5 is at least 3.20. (In particular, this means that Ubuntu 16.04 LTS (xenial) and derived distributions are too old.) If the binary does not work for you, it is recommended that you build from source, as described below.

How to build from source

Building with meson

Invoke meson _build followed by ninja -C _build to compile NoteKit. You can then install NoteKit by invoking meson install -C _build (If you don't have polkit running, you'll need to execute it as uid 0).

Required dependencies (pkg-config names):

* If clatexmath is not installed, meson will automatically build it too (you'll need the additional tinyxml2 dependency). If you do not want cLaTeXMath, you can give meson the -Dclatexmath=false option.

Building with cmake

Either invoke cmake . followed by make (which will build a binary at cmake-build-Release/output/notekit), or get CodeLite, open and build the workspace.

Required libraries:

If you want to enable LaTeX math rendering support, you moreover need:

For older LaTeX math support using lasem, you can proceed as follows:

Development and testing was exclusively conducted on X11-based Linux. The one tested way of building on Windows involves MSYS2's mingw-w64 package family (following the cmake route outlined above). Since MSYS2's coreutils depend on its Cygwin fork, the released Windows binary packages instead include a subset of coreutils from GnuWin32.

Development environment with meson

If you want to hack on NoteKit, you can use the meson provided devenv to avoid having to install NoteKit each time you changed something. To make use of the devenv you need to invoke meson devenv -C _build after configuring. You can then build NoteKit simply by invoking ninja without any further parameter and launch NoteKit afterwards by simply invoking notekit. (Please note, that you will want to use meson >= 0.59.0) To exit out of the environment send an EOF to the shell (<Ctrl>D) or type exit.

Installation notes

Usage notes

Note management

Markdown

Pen input

Syntax highlighting

Screenshot

Misc

Project status

Late alpha. Creating and editing notes and drawing works well enough, but many basic quality-of-life features (such as resizing/moving drawings) are still missing.

Planned features