- C++ 97.5%
- QMake 2.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| AdvancedPageList | ||
| BookManager | ||
| CategoryManager | ||
| Coordinator | ||
| Graphics | ||
| LabelManager | ||
| PageEditor | ||
| PageTypeManager | ||
| ProperyEditor | ||
| RelationFundamentals | ||
| repo | ||
| User | ||
| WikiPage | ||
| .gitignore | ||
| gpl-3.0.txt | ||
| main.cpp | ||
| mainwindow.cpp | ||
| mainwindow.h | ||
| mainwindow.ui | ||
| neville.pro | ||
| neville_en_US.ts | ||
| README.md | ||
| Resources.qrc | ||
Neville - The Rememberall
The History
I started out Neville somewhere in the early 2010's.
I have lost the early history from bazaar and the first known commit in git is from 2013. It was likely developed for Qt4 and I think right before I got a Nokia N9 - the reason for Nokia to acquire Qt from TrollTech.
Porting Neville to Qt5 is something I don't even remember so I guess it worked quite smooth.
Porting to Qt6 is another matter. Neville was build using a lot of cross references instead to avoid searching so I made heavy use of the Multi map feature available also in QMap - and that was removed in Qt6.
I made an attempt to port but it was just a mess and 15 years later I had no clue on how things was intermingled.
Still, having to install Qt5 separately, the old Neville is still in use today, as the note book used during this project and many other ongoing projects.
Anyhow, I decided to rename the old version legacy and give Neville a proper rebirth and rewrite it from scratch, I hereby present:
Neville - The Rememberal (reborn)
Neville is a basic desktop wiki for Markdown (and in the future a special flavor of Creole markup). It stores pages on disk in a date base folder structure that is made irrelevant.
Pages organized in Categories
Instead pages are virtually organized in Categories (that works just like folders).
Categories are inspired by Labels in GMail where mails are stored in a flat list that is filtered by the Label you select. Each mail can have multiple labels.
The same goes for Categories. Each page can have multiple categories and can show up on several locations. Pages within the category that is selected is shown.
Heavy used of meta data
The filtering principles is what makes Neville different.
Each page has several elements of Meta Data:
- Title
- Date and time
- Page type
- List of categories
- List of labeles
- Relations
- Custom Key-Value Meta Data
Currently filters can be applied by category, page type and labels. More to come.
GIT and Project friendly
Neville store files in a book folder. Each book is independent of others books. Each folder is GIT-friendly - it is mostly text-files (there may be some icon-files as well as part of the configuration).
There are no centralized file store, just create a book where ever you need one and it will be kept in that directory. Use the virtual desktops (in combination with Activities in KDE) if you may and have 20 Neville open for different contexts.
BDFL and License
Neville is an idea of and owned by Erik Ridderby, ARCHEA (Swedish registered company). It is licensed for You using GPL v3 (GNU Public License v3).
Erik is the Benevolent dictator for life (BDFL) of the project. The effort put into this project is made because Erik likes this software and needs it for daily use.
The old and seemingly abandoned legacy Neville are being in used daily until this project is in a usable state - Erik never abandoned it, he was just satisfied with they way it worked and accustomed to the quirks.
Current State
I am currently investing a lot of time to get Neville working. I need it in fall. There is a lot of moving parts right now and things are changing al over the place.
Building
When I get to some kind of stable phase I will document the build principles. Until then, take a look in the pro-file (this is a QMake-project).
Contributions to Neville
Erik is the BDFL of the project and decides what contributions will be accepted. Please make an Issue and take the dialog before spending a lot of time on something that might be rejected.
Use of Generative AI
This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes, but is not limited to, tools like ChatGPT, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.
This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.
AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and our chats and forums. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.
