-
3 votes
-
At this point, 5G is a bad joke
16 votes -
Canonical CEO Mark Shuttleworth makes peace with Ubuntu Linux community
11 votes -
What's new in the Linux kernel
14 votes -
Twenty years of Linux on Big Iron
5 votes -
Breaking up is hard to do: Chrome Web Browser separates from Chrome OS
11 votes -
Estimating software testing time: a few useful guidelines
4 votes -
Five rules for successful test automation
5 votes -
Five ways cloud-native application testing is different from testing on-premises software
4 votes -
Six ways to improve your debugging skills
5 votes -
Bitwarden review
11 votes -
Does this glitch mean that the App Library is coming to iPadOS 14? (Screenshot, iPadOS DP 3 Beta)
2 votes -
Being born in the 80s is the only thing that makes me realize how life with no constant connection existed and is possible
15 votes -
What’s the difference between a good QA director and a great one? A comparison
4 votes -
Cloudflare outage and the risk of today's Internet
8 votes -
My take on email
14 votes -
Four lessons software teams can learn from rock bands
4 votes -
How to design a Proof of Concept project to evaluate software
4 votes -
The mobile testing gotchas you need to know about
5 votes -
Sixteen things that software testers wished they’d learned earlier
5 votes -
What should be on a QA tester’s résumé? Here's what the recruiters say they want to see
10 votes -
In search of the full stack testing team: What makes the best QA teams so good
4 votes -
Five things QA testers wish programmers understood
6 votes -
From the QA trenches: Five signs of project success or failure
3 votes -
"Herein, a collection of more or less recent, decidedly epic software disasters. May they spark conversation that helps your shop to avoid more of the same."
8 votes -
So you want to become a software QA professional?
6 votes -
Five reasons why software testing needs humans
6 votes -
First release of my native Markdown notes app, Notementum (v0.1.0)
Screenshot I posted a few days ago about a notes app I was working on called Notementum, and I'm happy to show you the first release (0.1.0). Installation instructions are available on the Github...
I posted a few days ago about a notes app I was working on called Notementum, and I'm happy to show you the first release (0.1.0). Installation instructions are available on the Github repo: https://github.com/IvanFon/notementum
There's still lots of things I'd like to add, both big and small, and definitely a few bugs here and there, but I've been going for too long without sharing it, and I find it's best to release as early as you can to start getting feedback, and perfect it later.
One things that's missing is documentation. I'd like to start on this soon, but I'm probably not going to share this anywhere other than Tildes just yet, so this comment will do for now :)
Right now, the app only runs on Linux. I'd like to add Windows support, and it almost works, the problem is that WebKit2Gtk, the embedded web view I use to show note previews, doesn't support Windows. I'm going to explore some other options in the future, whether that's figuring out how to compile it, or allowing other preview methods (user's web browser, PDF, etc.).
The app is also very much in alpha, so you shouldn't use this for anything important, there may be bugs that can cause you to lose some of your data. If you do use this for anything, make sure you backup your notes database.
If you want to use it, here's a wall of text on usage:
Usage
The notes database is located at
~/.notes.db
. When you launch the app, it'll load it, or automatically create it if it doesn't exist. I'd eventually like to allow choosing different locations, but it's hard coded for now.The interface is fairly simple. The leftmost sidebar displays a list of notebooks, and the "middlebar" displays a list of notes. Selecting a notebook will display the notes within it in the notes list. Selecting a note will open it in the editor, which is to the right.
To create a new note, press
Escape
to focus on the searchbar above the notes list, and start typing a title. If no existing notes are found, press enter, and a note will be created with the title you entered.To rename a note, double-click on it in the notes list.
The editor has a toolbar with 4 buttons, from left-to-right:
- Toggle between editor and preview (shortcut:
Ctrl+E
) - Assign the current note's notebook
- Add an attachment
- Delete the current note
The green circle all the way to the right turns into a loading indicator when you have unsaved changes. Once you stop typing for a few seconds, your changes will be saved, and it'll switch back into a green circle.
Notebooks
Notebooks aren't created directly, they're based on what notebooks your notes are assigned to. This means that, to create a notebook, assign it to a note. To delete a notebook, just delete all the notes contained within it, or assign them to a different notebook.
Clicking on the notebook toolbar button brings up this dialog. To create a new notebook, double click on
<New notebook>
and type in a name.Attachments
The notes database also stores attachments. This means that the entirety your notes can be contained in your database. Clicking on the attachment toolbar button brings up this dialog. The toolbar allows you to upload an attachment or delete it respectively. Pressing
Insert Selected
will insert the image at your cursor in the editor (![](image.png)
).Theme
The screenshots show the app with my desktop Gtk theme, Arc Dark. On your desktop, it'll use whatever your theme is. It should look good with any Gtk theme, but at some point I may bundle Arc Dark with it.
The note preview currently has it's colours hard coded to look good with Arc Dark, so it may look a bit off on other themes. I'll try to sort that out at some point.
Planned features
- load/save database to/from different path
- Windows support
- note exports
- database encryption
- changing syntax highlighting theme
- note tags
- full-text search
- proper documentation
- more keyboard shortcuts
- integrated sync
- although you should already be able to use Git, Synthing, Dropbox, etc.
- Vim mode for editor
- maybe somehow embed a terminal to allow using vim/emacs/whatever
Boring technical stuff
The app was made with Python and Gtk+ 3. I've done this before and I really enjoy the development experience, especially with Glade to design the interface. There are still some Gtk features that I should really be using to make things simpler (GtkApplication, actions, and accelerators) that I'll be adding later.
The database uses sqlite 3. This is convenient, as it allows for storing everything in one file, and will make fast searches easier in the future. Attachments are stored as base64 directly in the database. This makes it easy to have all your notes be contained entirely in the one database, but I may have to think about a more efficient method in the future.
Markdown rendering is done using mistletoe, which has been great to use. Syntax highlighting and MathJax renderers were already available, so it was just a matter of combining both and adding custom image loading from the database, which was very easy. Mistletoe has a very easy to use API, so this was no problem.
For LaTeX math rendering, I'm using MathJax. It supports pretty much everything, which is nice, but it can take a while to load. I'm currently loading it from a CDN in a
<script>
tag, so I'm hoping once I load it from a local file it'll be a bit faster. If not, I may have to find another solution.Like I said, the app still has a few bugs that need to be fixed. If you find any problems, it would be great if you could leave a comment here or open a Github issue (or if you have any feature requests).
21 votes - Toggle between editor and preview (shortcut:
-
I'm working on an app for learning Chinese, anyone interested in helping me test it?
13 votes -
Who identifies project stakeholders? Here's how to find out.
7 votes -
My colleague designed/engineered a hydraulic "Drop Down Truck" for wheelchair users
10 votes -
Law of new new media platforms
4 votes