All Projects → blackhole89 → Notekit

blackhole89 / Notekit

Licence: gpl-3.0
A GTK3 hierarchical markdown notetaking application with tablet support.

Projects that are alternatives of or similar to Notekit

Issues
Caret issues
Stars: ✭ 326 (-33.33%)
Mutual labels:  markdown-editor
Githuber Md
Markdown editor plugin for WordPress.
Stars: ✭ 353 (-27.81%)
Mutual labels:  markdown-editor
Trufont
TruFont is a streamlined and hackable font editor. À l’ancienne.
Stars: ✭ 382 (-21.88%)
Mutual labels:  vector-graphics
Espui
A simple web user interface library for ESP32 and ESP8266
Stars: ✭ 330 (-32.52%)
Mutual labels:  tablet
Blog React Admin
基于 pro.ant.design 的 react + Ant Design 的博客管理后台项目
Stars: ✭ 349 (-28.63%)
Mutual labels:  markdown-editor
For Editor
for-editor - A markdown editor based on React
Stars: ✭ 358 (-26.79%)
Mutual labels:  markdown-editor
Awesome Web Editor
🔨 Open source WEB editor summary
Stars: ✭ 306 (-37.42%)
Mutual labels:  markdown-editor
Django Markdown Editor
Awesome Django Markdown Editor, supported for Bootstrap & Semantic-UI
Stars: ✭ 423 (-13.5%)
Mutual labels:  markdown-editor
Marcdown
👻 Lightweight realtime markdown viewer and editor - Simple, clean and beautiful https://liyasthomas.github.io/marcdown
Stars: ✭ 345 (-29.45%)
Mutual labels:  markdown-editor
Termux Archlinux
You can use setupTermuxArch.bash 📲 to install Arch Linux in Termux on Amazon, Android, Chromebook and Windows. https://sdrausty.github.io/termux-archlinux/
Stars: ✭ 384 (-21.47%)
Mutual labels:  tablet
Vg Renderer
A vector graphics renderer for bgfx, based on ideas from NanoVG and ImDrawList (Dear ImGUI)
Stars: ✭ 338 (-30.88%)
Mutual labels:  vector-graphics
Androidtoapplevectorlogo
An Android app demoing pathmorphing with AnimatedVectorDrawables
Stars: ✭ 344 (-29.65%)
Mutual labels:  vector-graphics
Notes
✎ Distraction-free notes and writing
Stars: ✭ 363 (-25.77%)
Mutual labels:  markdown-editor
Input Wacom
Linux kernel driver for Wacom devices
Stars: ✭ 327 (-33.13%)
Mutual labels:  tablet
Justwrite
一款支持同步滑动预览的跨平台Markdown编辑器
Stars: ✭ 411 (-15.95%)
Mutual labels:  markdown-editor
Grav Plugin Admin
Grav Admin Plugin
Stars: ✭ 316 (-35.38%)
Mutual labels:  markdown-editor
Marky
A markdown editor built with Electron and React
Stars: ✭ 355 (-27.4%)
Mutual labels:  markdown-editor
Scour
Scour - An SVG Optimizer / Cleaner
Stars: ✭ 443 (-9.41%)
Mutual labels:  vector-graphics
Moeditor
(discontinued) Your all-purpose markdown editor.
Stars: ✭ 4,003 (+718.61%)
Mutual labels:  markdown-editor
React Md Editor
A simple markdown editor with preview, implemented with React.js and TypeScript.
Stars: ✭ 374 (-23.52%)
Mutual labels:  markdown-editor

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

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:

  • note organisation
  • text as a first-class object
  • formatting
  • simple, standard on-disk format
  • tablet input

How to install

automated build

You can download the following binary builds:

  • Linux x86_64 (Git version of 2020-09-22), or download the possibly unstable automated build.
  • Windows x86_64 (Git version of 2020-04-26). The Windows version is less tested and incapable of remembering which folders are opened to mingw-w64's lack of support for xattrs.

Moreover, there is also

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

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:

  • cmake.
  • libgtkmm-3.0-dev>=3.20 (UI stuff)
  • libgtksourceviewmm-3.0-dev>=3.18 (more UI stuff)
  • libjsoncpp-dev ~ 1.7.4 (config files; older versions may work)
  • zlib1g-dev
  • libfontconfig1-dev ~ 2.13 (to use custom fonts)

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

  • Set the CMAKE variable HAVE_CLATEXMATH to ON.
  • Run install-clatexmath.sh to clone cLaTeXMath into a subfolder and build it as a static library.
  • If you observe linker errors, make sure your gcc is sufficiently new.

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

  • Set the CMAKE variable HAVE_LASEM to ON.
  • Have checked out and compiled lasem from git in the CMAKE variable LASEM_PATH (default: ./lasem). (Remember to build it; just checking out is not enough.)
  • libxml2-dev ~ 2.9 (older versions may work)

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.

Installation notes

  • By default, configuration is saved in $HOME/.config/notekit, and notes are in $HOME/.local/share/notekit. This may depend on your $XDG_ environmental variables, and the notes base path can be changed in the config.json file in the configuration folder.
  • Resources (data/ and sourceview/) are searched in /notekit/ under $XDG_DATA_DIRS (default: /usr/local/share:/usr/share), followed by the current working directory .. If packaging Notekit or otherwise preparing it for system-wide installation, these two folders should probably be copied into /usr/share/notekit/data and /usr/share/notekit/sourceview respectively.

Usage notes

Note management

  • To create a new note, doubleclick a + node in the tree view and enter a name.
  • To create a new folder, doubleclick a + node in the tree view and enter a name ending in /, e.g. new folder/.
  • Notes will be sorted alphabetically.
  • You can move notes and whole folders between folders by dragging and dropping.
  • Files are saved automatically when the window is closed, when a different file is opened, and after a timeout when no user action is performed.

Markdown

  • Some markdown features are unsupported as a stylistic choice or because of parser limitations. If you are feeling adventurous, you can adjust the markdown parser by editing the GtkSourceView language definition in sourceview/markdown.lang.
  • Add LaTeX math using single $ signs, e.g. $\int x dx$.
  • Some markdown will be hidden ("rendered") unless your cursor is next to it.

Pen input

  • Drawings can currently only be deleted whole. (This will be fixed eventually.)
  • To edit the default colour palette, right-click any of the colour buttons on the right-hand toolbar.
  • Due to present limitations, drawing clears the undo stack.
  • When copypasting text into other applications, drawings will be automatically converted into data URL PNGs.

Syntax highlighting

Screenshot

Misc

  • The program loads a custom Gtk+ stylesheet found in data/stylesheet.css. Clear it if parts of the UI look wonky.
  • If something unexpected happens, it is often useful to run the program from a terminal and look at stdout.

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

  • Selecting strokes, moving and transforming selections, etc.
  • Floating figures (so drawings can exist on top of text rather than as blocks that text floats around).
  • More Markdown rendering, e.g. actually formatting links.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].