notekit

blackhole89GPL-3.0更新放缓

基于 GTK3 的分层 Markdown 笔记应用,支持手写笔输入和矢量绘图,适合在平板上整理结构化笔记。

A GTK3 hierarchical markdown notetaking application with tablet support.

v0.2.0发布于 2022-12-17 20:07 UTC1,570star68fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
meson _build
ninja -C _build
硬件要求按 README 说明

README 未说明显存或 GPU 要求;开发和测试仅在基于 X11 的 Linux 上进行,Windows 需通过 MSYS2 mingw-w64 构建

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一款 GTK3 分层 Markdown 笔记应用,支持手写笔输入,可当作自由软件版 OneNote

基于 GTK3 的分层 Markdown 笔记应用,支持手写笔输入和矢量绘图,适合在平板上整理结构化笔记。

核心能力

  • 用即时渲染的 Markdown 编写笔记
  • 用可拖拽的文件夹树组织笔记
  • 支持鼠标、触摸屏和数位板手绘
  • 用单个 $ 符号插入 LaTeX 数学公式
  • 笔记自动保存,磁盘格式简单标准

容易踩的坑

运行二进制需预装 libgtkmm-3.0-1v5(至少 3.20)等依赖,Ubuntu 16.04 过旧;LaTeX 数学渲染默认会额外拉取并编译 cLaTeXMath,需 tinyxml2,可用 -Dclatexmath=false 关闭;笔记默认存于 $HOME/.local/share/notekit,配置在 $HOME/.config/notekit,资源需在 XDG_DATA_DIRS 的 notekit/ 下找到

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

4 个版本v0.2.0
  1. latest-debUbuntu 18.04 package for development versionpre-release2023-03-27 · 2023-03-27 15:18 UTC
    查看更新说明

    Commits

    • a82424b: Trivial commit to rebuild nightlies (Matvey Soloviev)
  2. latestDevelopment Buildpre-release2023-03-27 · 2023-03-27 15:15 UTC
    查看更新说明

    Commits

    • a82424b: Trivial commit to rebuild nightlies (Matvey Soloviev)
  3. v0.2.0Version 0.2.0最新正式版2022-12-17 · 2022-12-17 20:07 UTC

    Version highlights

    • Inline images.
    • Links.
    • Better rendering of code blocks.

    Full Changelog: https://github.com/blackhole89/notekit/compare/v0.1-alpha...v0.2.0

  4. v0.1-alphaAlpha release 0.1pre-release2021-01-10 · 2021-01-10 18:23 UTC
    查看更新说明

    Initial release tag for the benefit of package maintainers.

    Many key features are of course still missing, but limited testing has suggested that the program is quite usable at this point.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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:

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

    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.

    • Linux x86_64 deb (compatible with Ubuntu 18.04 and likely later versions)
    • Linux x86_64 generic tar.gz (untested on non-Debian systems; for those, the distro-specific repositories below might be better)
    • Windows x86_64 (select the top entry and download the artifact; may require you to log into Github)

    Moreover, there is also

    • an Open Build Service package, which provides up-to-date packages for many distributions, including Arch Linux, Debian, Ubuntu, CentOS 8, Fedora, SLE and OpenSuSE (thanks to @sp1ritCS);
    • a Fedora package (thanks to @LyesSaadi);
    • a now significantly outdated Launchpad PPA with a DEB package for Ubuntu 18.04 and many other modern Debian-family systems.

    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):

    • gtkmm-3.0
    • gtksourceview-3.0
    • zlib
    • fontconfig
    • jsoncpp
    • clatexmath*

    * 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:

    • 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.

    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

    • 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.