blackhole89 / notekit Goto Github PK
View Code? Open in Web Editor NEWA GTK3 hierarchical markdown notetaking application with tablet support.
License: GNU General Public License v3.0
A GTK3 hierarchical markdown notetaking application with tablet support.
License: GNU General Public License v3.0
Is it possible to create Tables in Notekit using Markdown? Because relying on LaTeX Tables ($\text{\begin{tabular}{l | l | l} T1 & T2 & T3 \\ \hline B1 & B2 & B3 \\ B4 & B5 & B6 \\ \end{tabular}}$
) is bad, because it takes to long to type :/.
I built the source successfully using CodeLite, since I am on Solus, and running the compiled source from CodeLite gave me the notekit GUI as expected. However I do not want to open CodeLite every time, so I navigated to the /Debug folder and tried to run the notekit executable by doing ./notekit from the Debug folder. The following error is output into the terminal
(process:7133): glibmm-CRITICAL **: 19:23:26.324: Class::register_derived_type(): base_query.type_name is NULL.
== This is notekit, built at Sat Sep 14 16:33:54 2019. ==
Detected paths:
Config: /home/warren/.config/notekit
Active notes path: /home/warren/.local/share/notekit
Default notes path: /home/warren/.local/share/notekit
Resource path: .
terminate called after throwing an instance of 'Gtk::CssProviderError'
Aborted
I have no knowledge in C++ so I'm pretty helpless in debugging this. I then tried chmod +x notekit, however this did not fix my issue. Any help is appreciated.
Please improve support for "Tablet Mode" on Windows. In this app I would expect the top toolbar to autohide unless the area is touched to show the close button. Also the task bar should autohide correctly.
Some apps also increase the size of buttons in Tablet Mode for easier touch screen use, but I think the sidebar buttons are already sufficiently large.
Currently in Tablet Mode the top toolbar stays visible and the already taskbar autohides, but the app's window does not resize to fill the whole screen. Other apps are visible through the empty space at the bottom of the screen. See the bottom of the attached screenshot: .
I really do like the app though! Even though you say Windows is less tested it seems quite usable otherwise.
It'd be cool if there was a Flatpak manifest to enable building the app with one click in GNOME Builder, it's a really nice workflow for drive-by contributions. Once you have a manifest you could also submit the app to Flathub, which is a great way to get the app in front of more people :)
Having an option to add folder as root which are not under notekit-*/notesbase would be great. That could be really helpful if you already have an existing folder structure and want to continue using it
Hello, I think it would be nice if i could export a tree (or a subtree) of notes as a pdf or html file, as it can be done in CherryTree software for example.
I also made a video what is going on https://cloud.tu-ilmenau.de/s/sSx4AojaGB8MGHo
I find it really hard to erase lines. One has to try to remove it several times before it works.
See Video
Maybe be related to the
The discontinuous lines are due to an optimisation in updating the line that you are currently actively drawing, and should go away once you lift your pointer/pen.
but this is just a guess.
I found no way to hide the folder tree. It takes up significant screen real estate if the window is limited to half a window. The ability to hide it would be good. This is an enhancement.
I have a high-res screen, and finding the default font size very small. I see in the README that we can change the css for the program. Pardon my ignorance, since I'm not familiar with gtk app development, but is this something you change in the source and rebuild (I see the data directory in the source), or can I change this somewhere else and just restart the program and have the new styles applied?
I tried to run the binary on Fedora.
Currently i am missing the libjsoncpp.so.1 shared library which does not exist as libjsoncpp.so.1 in Fedora. I followed the work around: google/flutter-desktop-embedding#227
After installing all jsoncpp related packages (other than mingw packages) the following files were added.
/usr/lib64/cmake/jsoncpp /usr/lib64/cmake/jsoncpp/jsoncppConfig-release.cmake /usr/lib64/cmake/jsoncpp/jsoncppConfig.cmake /usr/lib64/libjsoncpp.so /usr/lib64/pkgconfig/jsoncpp.pc /usr/lib64/libjsoncpp.so.19 /usr/lib64/libjsoncpp.so.1.8.4 /usr/share/licenses/jsoncpp /usr/share/doc/jsoncpp /usr/share/doc/jsoncpp/html/jsoncpp_8dox.html
The version jsoncpp Fedora 29 provides is:
Name : jsoncpp Version : 1.8.4 Release : 5.fc29 Architecture : x86_64 Size : 239 k Quelle : jsoncpp-1.8.4-5.fc29.src.rpm Repository : @System Aus Paketque : fedora Summary : JSON library implemented in C++ URL : https://github.com/open-source-parsers/jsoncpp Lizenz : Public Domain or MIT Description : jsoncpp is an implementation of a JSON (http://json.org) reader : and writer in C++. JSON (JavaScript Object Notation) is a : lightweight data-interchange format. It is easy for humans to : read and write. It is easy for machines to parse and generate.
I would like to propose a ruler mode for freehand drawing.
https://github.com/thomaskole/notekit
In this proof of concept, I propose 2 ruler types: A cartesian and a polar ruler.
the Cartesian (x-y) ruler is available under shift.
While holding down shift, the user chooses a direction by drawing left-right or up-down. The cursor is then limited to the start x- or y-value.
The polar ruler allows the user to draw arbirary diagonal lines, or circles like a compass. This functionality is available under ctrl.
When you press this button, a center point is placed.
Like the cartesian ruler, the polar ruler chooses a direction based on the first move. Away or towards the center results in a diagonal line, parallel to it results in a circle.
It's far from perfect, but it could be a starting point for possible future ruler functionality.
I have started creating a snap package notekit, but came some trouble with the created build file.
The source is here and it is able to compile and create the snap seemingly without problems.
To build the snap package install snapcraft with snap install snapcraft
, change into the cloned repo, run git checkout snap
and build the snap using the command snapcraft --debug
.
You can install the created snap using sudo snap install notekit_*.snap --devmode --dangerous
but there are problems when executing the program.
Simply running simply calling notekit
in the console gives the following error:
/snap/notekit/x1/usr/share/notekit/notekit: error while loading shared libraries: libgtkmm-3.0.so.1: cannot open shared object file: No such file or directory
Running the executable directly using /snap/notekit/x1/usr/share/notekit/notekit
after setting the data manually using export XDG_DATA_DIRS=/snap/notekit/current/usr/share:/usr/local/share:/usr/share
gets the program to launch but parts of the ui are missing and I cannot write stuff.
I have the same problem when compiling the source manually, so it might be a problem with the dependencies.
But all version are at least the version required in the readme (except libfontconfig1-dev which is version 2.12.6-0ubuntu2).
I run the local build on my Linux mint 19.3 computer and the snap package is targeted at ubuntu 18.04 (core18).
Any idea on how to get it to work properly?
Hi,
i am on the COPR repository and I have symlinked my ~/.local/share/notekit
from a syncthing directory to sync my notes. This works fine.
When I open notekit and change the name of a note via the left-hand side tree view, the filename gets changed (correct) but the filename at the top center of the editor stays the same (error). If I now close notekit and reopen it, it tries to reopen the file with the old filename which fails.
I don't know whether the symlinked directory is part of the issue.
I have uploaded a video showcasing the issue to https://maweki.de/files/notekit_renaming_issue.webm
Currently, I can only resize notekit so much. It would be nice if the user could resize it further.
Is this simple to implement?
Pkg config shouldn't be called using COMMAND
in CMakeLists.txt but instead pkg_check_module
(link).
Hello, so I have just been recently using Notekit; however, I have ran across a bug where the input system does not properly draw from the tablet when using Wayland. I tested on Xorg, and the input works perfectly, but I am wondering why Wayland seems to have an issue.
It seems that a stroke object is created, but the actually drawing does not work with the input from the tablet leaving a blank object. Using a mouse input and draw tool seems to work, however.
Let me know if you need any further details to look into and/or resolve the issue. Thanks!
Expected behavior:
Feedback that this file (a) does not exists and removal from file list or recreation of this file (a)
Current behavior:
No visual indication print in to StdOut instead:
what : Fehler beim Öffnen der Datei »/home/joto/Software/notekit-20190907/notesbase/(a).md«: No such file or directory
One might also consider refreshing the file overview sometimes
I just pulled master @ 4421ec8.
I can't select text with the mouse because instead of selecting the text it starts drawing.
It would be really cool if you can open up any folder as the base folder from a menu. then you could have different folders for different projects. Would that be possible?
Hi,
The arch distribution doesn't build for me (installing via AUR https://aur.archlinux.org/packages/notekit-clatexmath-git/)
Some of these packages I think I already have under a different name. For instance
pacman -Ss gtksourceview
extra/gtksourceview2 2.10.5-5
A text widget adding syntax highlighting and more to GNOME
extra/gtksourceview3 3.24.11+28+g73e57b57-1 [**installed**]
A text widget adding syntax highlighting and more to GNOME
Currently using the snap package, but it's out of date and would love to be using new features as they come out. I get the following error (only printing out the tail of the logs)
-conda_cos6-linux-gnu/bin/ld: cannot find -latkmm-1.6
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lgdkmm-3.0
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lgiomm-2.4
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lpangomm-1.4
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lglibmm-2.4
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lcairomm-1.0
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lsigc-2.0
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lgtksourceviewmm-3.0
/home/ryderb/miniconda3/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.3.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lgtksourceview-3.0
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/LaTeX.dir/build.make:1245: LaTeX] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: CMakeFiles/LaTeX.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX static library libclatexmath.a
[100%] Built target clatexmath
make: *** [Makefile:103: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
error making: notekit-clatexmath-git
Pos1 and End key can not be used to scroll to the respective end of the file.
Page UP and Page DOWN work though.
+
sign.###
, as soon as I add a fourth hash sign, these also don’t work.Do you rely on some markdown parser/library or did you program everything on your own? The first option seems to be the case here, so I would recommend the usage of some popular parser. I also tested quite some other Markdown editors – sadly most of them seem to parse Markdown on their own, which results in a lot of missing features and bugs.
Hi. I think it will be nice if there's an option to hide the tree view of notes (sidebar).
A lot of space will be gained when using notekit half screen.
BTW, nice app. It's unique!
The only way so far to get more drawing space is to add text and press enter to get space to draw. This is not very friendly if your keyboard if folded behind your screen and you ran out of space.
(Sorry for opening so many issues. I am very open to have this software be my daily driver in a few months.)
using portable 64bit exe version notekit-20190911.zip
started notekit
created 4 files in left side bar
closed notekit, did not enter anything into any of the files
restart notekit
-> notekit does nto start
opening an editor like vim and enterring a spacebar into the zero byte files allows starting
Steps to reproduce:
Just an FYI, I've packaged notekit with cLaTeXMath support for openSUSE (Tumbleweed & Leap 15.2), as AppImage & Arch (AUR).
The AppImage should also solve #24
Also a few things that you should consider are:
I could also provide my .desktop file that I used for the SuSE & AppImage build if you want.
Lets setup Travis CI for auto-build AppImage (portable package for Linux) for each commit:
.travis.yml
- https://github.com/OpenVSP/OpenVSP/blob/master/.travis.yml
For example, take a look on LeoCAD .travis.yml
implementation:
And here is what resulted builds would look like:
For any support:
Hi,
Very promising program! As someone who uses Xournal daily, I will be watching development here closely.
I've written a quick and dirty PKGBUILD to test this out. Unfortunately, GTK3, while it does recognize capacitive touch screens, only allows them to scroll - whatever mechanism it uses for writing seems to expect a pen or stylus. Unfortunately, that means that those of us with older/cheaper devices can't use this program.
Xournal++, another GTK3 program, added a touch "workaround mode" that fixed the same problem. Any chance of doing the same? Thanks.
PS: if it helps, my touch screen shows up as "Atmel maXToutch Digitizer." It works as intended with GTK2 programs, such as the original Xournal.
Please provide Gettext localization support. Then I’d be happy to contribute translating this app into Spanish and Catalan!
I think most of the time we want to start writing in the end of the file. But when we open a file in notekit, it shows the beginning.
I think the default behavior should show the end of the file.
Ideally, notekit could save the user's position to return to it. But it will be harder to implement, I think.
Anyway to copy+paste images on notekit?
It only blinks when a larger image field is selected:
See more here https://cloud.tu-ilmenau.de/s/X6MLdKK8FSk9zzC
Would be nice to have this software packaged as a Ubuntu Snap. Snaps are very portable between distros so more people could use it.
I found no way to remove lines i drew. A rubber functionality would be great.
There seems to be something about erasing at (x,y) in the source code.
NoteKit matches & creates checked checkboxes with an uppercase "x". This breaks a lot of compatibility with other tools (e.g. Nextcloud Notes), where the checkbox is lowercase "x".
As far as I know it's common to use the lowercase "x". Is there any reason the uppercase "x" is used and could it be changed?
Hi!
I successfully packaged NoteKit for Fedora, at least for X11 (discovered a bug, will report it later. I'm gathering more information) (EDIT: This was just a random error apparently, it just disappeared ¯\_(ツ)_/¯, so it works well on wayland as well). And I wanted to ask for clearance for launching an automated COPR repo (equivalent of AUR) for fedora that will build nightly or weekly NoteKit.
I also wanted you to review some details about the package, as that's the first time that I do something like that 😛:
Summary: A GTK3 hierarchical markdown notetaking application with tablet support.
Description: 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.
Desktop File:
[Desktop Entry]
Version=%{current}
Name=NoteKit
GenericName=NoteKit
Comment=Write your notes in instantly-formatted Markdown
Icon=accessories-text-editor
Exec=notekit
Terminal=false
Type=Application
Categories=Office;
Keywords=note;onenote;notetaking;markdown;
When a picture is added by drag and drop the file path is written instead.
Creating (sub)-folders in the sidebar would be helpful
Many times I have misplaced drawings and it messed up the text or the drawing. I had to do the
drawing again.
I think it would be more useful to have to planes, one for the drawing and other for the text.
So each won't interfere in each other.
Another nice thing about this is that I can place text inside drawings, which currently is very hard.
One of Markdown strengths is that I can use the same file for pandoc, blog and static site generators.
Therefore, it would be great to have an option to convert to Markdown files with png links.
When I try to run cmake . within the folder, I get the following error:
CMake Error: The source directory "/home/justin/Downloads/notekit-20190911" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
I'm running Ubuntu.
Hi,
I just recently discovered your application and I must say, it is woooonderful.
I strongly suggest to package a flatpak app for flathub.org. This will make the application so much more discoverable and many many more will see it.
I am 100% sure, it will land on the editors choice very fast.
So apparently I lost a bit of work, since notekit only saves a note when I change the displayed note or close notekit. I just shut off my pc and an extensive note wasn't saved. It would be nice if ctrl+s
would force a save to disk or it would regularily save anyways.
I love vim, but I have been searching for a modern gui editor that uses vim controls but also renders markdown in real time without needing a separate window. Notekit seems the most promising in this regard.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.