-
6 votes
-
Dear user
16 votes -
Google offers free fabbing for 130nm open-source chips
17 votes -
WeCo - Cooperatively owned, democratically governed, open source social news
19 votes -
Plans for PeerTube v3 : global index, progressive fundraising, live streaming
16 votes -
Munich is shifting back from Microsoft to open source
14 votes -
Lemmy: A link aggregator/Reddit clone for the fediverse
15 votes -
The Beaker "new web" project
10 votes -
A state-of-the-art open source chatbot
12 votes -
Costs/funding in open-source languages
6 votes -
Inkscape 1.0 has been released - Free and open source vector graphics editor for GNU/Linux, Windows and MacOS X
21 votes -
Hyperdome - the safest place to reach out
5 votes -
BlackBerry says Chinese government hackers stole world's sensitive data for ten years
7 votes -
Ultimate Writer: An open digital typewriter
12 votes -
Envelope - Transform your phone into a simpler, calmer device
8 votes -
Trying out a Windows knock-off (ReactOS)
6 votes -
Libravatar - A free and open source alternative to Gravatar
8 votes -
Mycroft won against their patent troll
22 votes -
Mycroft is being targeted by a patent troll
14 votes -
Why I won't buy an iPad – ten years later
13 votes -
Anyone here running a Pleroma instance?
11 votes -
Bruce Perens quits Open Source Initiative amid row over new data-sharing crypto license: 'We've gone the wrong way with licensing'
9 votes -
The performance advancements of the Radeon open-source OpenGL/Vulkan drivers over 2019
8 votes -
Prime leverage: How Amazon wields power in the technology world
5 votes -
PinePhone: Everything you need to know about the $150 Linux-powered phone
25 votes -
GitHub Arctic Code Vault
8 votes -
LibreOffice 10/20 logo community contest
8 votes -
A new funding model for open source software
19 votes -
Firefox to hide notification popups by default starting next year
22 votes -
The sad saga of Purism and the Librem 5 (Part 1)
19 votes -
How I coined the term 'open source'
7 votes -
First Librem 5 phone rolled out!
25 votes -
ActivityPub: The “worse is better” approach to federated social networking
10 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:
-
As authoritarian governments surveil the internet, open source projects decide how to respond
7 votes -
Public statement on neutrality of free software
25 votes -
Epic Games supports Blender Foundation with $1.2 million Epic MegaGrant
32 votes -
Mobilizon reaches its funding goal with 10 days left
6 votes -
Open Place Reviews, an open data review site developed by osmand and maps.me
8 votes -
Rethinking open source: The challenges behind establishing a modern emulator
21 votes -
Large Redmond Collider: CERN reveals plan to shift from Microsoft to open-source code after tenfold license fee hike
18 votes -
Microsoft Alternatives project (MAlt) - Taking back control using open software
10 votes -
'It's time for us to watch them': App lets you spy on Alexa and the rest of your smart devices
11 votes -
A look at VotingWorks, a nonprofit developing what it hopes will be “a publicly owned operating system for democracy"
10 votes -
/e/ (formerly eelo) started selling phones today
13 votes -
Librem announces Librem One
18 votes -
Refreshing the VS Code product icon
9 votes -
Ghidra the reverse engineering tool has been open sourced
6 votes -
Mozilla releases Iodide, an open source browser tool for publishing dynamic data science
14 votes -
Google has quietly added DuckDuckGo as a search engine option for Chrome users in ~sixty markets
21 votes