Marknotes
📝 You’re taking a lot of notes and need a solution to manage them i.e. put your knowledge base in one central place and being able to retrieve quickly information’s, display them nicely through the browser as a HTML page or a slideshow, export them in many file formats (docx, odt, pdf, txt, …). Sensitive information’s can be encrypted and notes can be edited online.
Install / Use
/learn @cavo789/MarknotesREADME

By Christophe Avonture
If you like marknotes, please give him a :star: and fork it. This way more people can be made aware of its existence. Thanks!
Marknotes is discontinuated
The development of Marknotes has ended: having integrated a team of PHP developers, the choice of the documentation solution is the wiki integrated into each repository.
Over the past year, I have redeveloped a large number of Marknotes plugins for use within Gitlab - Wiki and to be more generic. Idea is to take each file from the project's wiki no matter where it is in the tree structure and generate a large master file where the marknotes plugins then do their job. In the end, there is only one .md file that can then be converted into multiple formats (html, pdf, word,...) or even a reveal.js presentation.
For this reason, the development of Marknotes will not be continued.
Introduction
Marknotes is a tool that will display your documents through a powerful web interface where they will be sorted and accessible quickly. Marknotes offers multiple features such as a powerful search engine, the ability to encrypt all or part of a document, display it in different ways and export it in multiple ways and much more (see below).
Thanks to its plugin oriented architecture, Marknotes is rich in dozens of features and it is quite easy to add more. Even the buttons in the editor toolbar are plugins! Tasks (like file upload, file format conversion,. ..) are also plugins! The code is highly scalable but also easier to maintain since everything is perfectly divided into small portions of code.
By adopting Marknotes, you'll never ask yourself, "Where did I save my document?" or "I had read an interesting piece of information but I don't know where it is any more". The answer will be, of course, "The information is saved in Marknotes and will really fast retrieve."
marknotes requires PHP 7.1 or greater and mod_rewrite enabled
(There is a bug in PHP 7.0 when working with filenames having accentuated characters (UTF8) so if you wish to use such name, please be sure to use at least PHP 7.1)
Table of Contents
- Introduction
- Demo
- How to install
- Documentation
- Features
- Configuration
- Tips
- Debugging
- Privacy and protection
- Author
- Ready to help?
- Support
- License
1. Introduction
1.1 What is marknotes?
Marknotes is a PHP application that you can self-hosted and who will help you to manage your "notes": documentation, meeting minutes, user guides, ebooks, emails, ... i.e. everything you put in it.
Notes are written in pure Markdown: this is a plain text language with only a few codes (like # or *) for text formatting. Yes!!! You'll write your notes with a very stupid text editor (Notepad on Windows will do the work) (note: marknotes provide an online editor) and save them as a flat file on your server.
Marknotes will display your notes in a folder approach and files will be displayed in a nice HTML5 output with a lot of extra features: export the note as a .docx, .epub, .odt, .pdf, .txt, ... file or display it like a slideshow (support of Reveal.Js and Remark included)
Marknotes is fully Open Source and is using just stupid text files (markdown ones). It's really easy to create files, edit them in any text editor, ... and due to the file format, the integration with any tools and existing process is easy.
Using markdown requires a very light learning to e.g. know how to put in bold but it goes very fast. The gain is then enormous: you will type your texts without using the mouse any more, with the kilometric keystroke. Really fast.
1.2 Prerequisites
During the development of marknotes, two technical choices have been made:
- Use PHP 7.1 or greater to get benefits of all advantages of the latest version of PHP and because other versions were, already, obsolete (if you're interested, see PHP end of life page).
- Consider that mod_rewrite is on the server enabled; this is needed to have nice URLs like
yoursite/docs/folder/slideshow.revealand NOTyoursite/index.php?task=...¶m=...&second=....i.e. a URL with a very long query string and not really friendly for search engines.
1.3 Notes are yours!
Want to move to another application and leave marknotes? No problem! Notes are flat files and written in a text format and use markdown which is a standard.
Even if I'd be really sad to see you leave, you'll certainly not have any problem to do it. Just move your .md files and that's all.
And remember: notes are yours! Unlike Evernote®, Google®, Microsoft® or other companies, notes will be saved on your website only (can be local). If you don't want to put them on the internet, they won't be on the internet at all.
1.4 Background
During years, I've used Evernotes to manage my notes (can be documentation, user guides, ebooks, billing, ... i.e. everything I need to keep in one central place and being able to retrieve them easily).
In 2016, Evernote has introduced more restriction with the Free version and by the end of the year, has stated that some employees will have access to our notes for administration tasks.
That was too much for me: no, even if the tool was easy and free, no, I didn't want to a human can get access to my knowledge base, I wish to be able to better manage who / when / why and, on top of this, some features were missing for me: easily display notes as an HTML page, as a slideshow, convert them in f.i. a Word document, and so on.
2. :game_die: Demo site
The demo site didn't exists anymore
:computer: 3. How to install or update?
Please take in consideration that marknotes needs PHP 7.x. You'll perhaps need to enable PHP 7.x on your server; this can be done through a specific line in the .htaccess file or from your control panel (see your hoster if you need more information).
If you already have a version of marknotes, if this is the old version 1; I recommend removing all files except the /docs folder (don't loose your notes!). Otherwise, let files there and overwrite them by using the easy or hard way here below
3.1 :smile: Easy way
The simply way to install marknotes is by downloading his installation script which is available in a separate GitHub repository.
Download install.php from there, save the file in the folder where you wish to install a copy of marknotes and just run the script (f.i. http://localhost/marknotes/install.php).
The script will get the latest version of marknotes, download his zip from GitHub and save it on your server, unzip the file and prepare the site. After two seconds, you should have a running site.
3.2 :muscle: Hard way
You can, of course, download a copy of this repo by getting the ZIP version or making a clone (git clone https://github.com/cavo789/marknotes).
You'll find the source files in the /src folder. Take a copy of all these files and put them in your marknotes folder.
3.3 :hatched_chick: Update marknotes
Once installed, if enabled, your marknotes installation will check on github if there is a newer version. If so, an icon will be displayed on your toolbar (by default in the upper right part of the screen). Just click on the icon and after you agree, the newer version will be installed.

4. :book: Documentation
You can find a "not-updated-version" documentation on the wiki here: https://github.com/cavo789/marknotes/wiki that documentation needs review
5. :trophy: Features
Thanks to his dozens of plugins, there are many functionalities like:
- Works perfectly in offline mode (since all notes are files stored on your disk)
- Login screen to get access to feature like add / delete / rename notes or folder
- Online editor for allowed people
- Cache mode enable (on the server and on the local browser)
- Note's encryption to hide sensitive data's and show it only to logged in people
- ACLs to restrict visibility of folders to a few users (people not on the
whitelistwon't see protected folders) - Automatic rendering of tables: table of content, todos list, decisions taken list, ...
- Variables replacement: create your own variable like f.i.
%VERSION%,%AUTHOR%,%CUSTOMER_NAME%, ... - File inclusions so you can write very big documentation in smaller f
