GithubHelp home page GithubHelp logo

tasdikrahman / tnote Goto Github PK

View Code? Open in Web Editor NEW
229.0 12.0 42.0 50 KB

:clipboard: A command line note taking app so simple that even your grandparents will love it!

License: MIT License

Python 100.00%
linux python command-line-tool note-taking macos windows

tnote's Introduction

tnote

GitHub license Supported python versions Join the chat at https://gitter.im/prodicus/tnote

                            _________ _        _______ _________ _______ 
                            \__   __/( (    /|(  ___  )\__   __/(  ____ \
                               ) (   |  \  ( || (   ) |   ) (   | (    \/
                               | |   |   \ | || |   | |   | |   | (__    
                               | |   | (\ \) || |   | |   | |   |  __)   
                               | |   | | \   || |   | |   | |   | (      
                               | |   | )  \  || (___) |   | |   | (____/\
                               )_(   |/    )_)(_______)   )_(   (_______/

A dead simple command line note taking app built for you!

Index

Demo

⬆️ Back to top

Watch a live demo of it working here

asciicast

Here's the link to previous version if you are interested!


Features

⬆️ Back to top

  • Dead simple to use: Even your granny would be able to use it. No seriously!
  • Feature rich Add your precious note with it's title , content , tags
  • Secure: Encrypts your database using standard AES-256 in CBC mode. So even if anybody gets hand of your database file. He cannot make any sense of it. A little demo of what I am doing using it

NOTE This feature is available/tested only on linux based systems. Support for other OS's coming soon!

  • Text Highlighting is cross platform - Supports Linux, Windows, MAC for the terminal based highlighting.
  • Searching for notes is hassle free in tnote: It supports full text search for notes based on content, tags
    • The search query if found in the database will be highlighted if found. Looks pleasing to the eyes
  • Ability to add and remove tags for each note.
  • Adds timestamp for each note which has been added.
  • Written in uncomplicated python.

Need I say more?


Installation

⬆️ Back to top

Installing dependencies

NOTE

On linux system, install libsqlcipher-dev

$ sudo apt-get install libsqlcipher-dev

On Mac OS systems, you can install it by

$ brew install sqlcipher

Clone it

$ git clone https://github.com/tasdikrahman/tnote
$ cd tnote && pip install -r requirements.txt

Add a symbolic link to it

$ chmod +x tnote
$ cd ~/bin/ 
$ ln -s ~/some/path/to/tnote

Replace ~/some/path/to/tnote by the path where you have cloned the repo. For example if you have cloned it to ~/Downloads/tnote folder than your command should look something like

$ ln -s ~/Downloads/tnote/tnote

Run it

Fire it up! 🌋

$ tnote


Supported platforms

⬆️ Back to top

OS Support status
Linux ✅ Full support
OS X ✅ Full support
Windows ☑️ encrytion of the Database for windows not yet supported

Contributing

⬆️ Back to top

This app was created in a timespan of 2 hours while learning to use peewee (ORM). So don't be shy to make some PR's here 😄

To-do

  • Add unit tests. Like real quick!
  • Make it pip installable
  • Ability to edit the content of a note
  • Add python2 support
  • Add tags support for notes
  • Remove tahs for notes
  • Add option to add title for notes
  • Add option to remove title for notes
  • Add option to search for notes using content
  • Add option to search for notes using tags
  • Add option to search for notes using title
  • Add option to search for notes using timestamp
  • Encrypt the .db file using Sqlcipher
  • Add colorized text to the notes for improved UI
  • Add better UI using urwid

Contributers

A big shout out to all the contributers, more specifically to these guys

Motivation

⬆️ Back to top

Why not! Cheers to a crazy weekend 😄


Issues

⬆️ Back to top

You can report the bugs at the issue tracker

OR

You can tweet me if you can't get it to work. In fact, you should tweet me anyway.


License

⬆️ Back to top

Built with ♥ and after a lot of pizzas by Tasdik Rahman under MIT License

You can find a copy of the License at http://prodicus.mit-license.org/

Donation

⬆️ Back to top

If you have found my little bits of software being of any use to you, do consider helping me pay my internet bills :)

PayPal Donate via PayPal!
Gratipay Support via Gratipay
Patreon Support me on Patreon
£ (GBP) Donate via TransferWise!
€ Euros Donate via TransferWise!
₹ (INR) Donate via instamojo

tnote's People

Contributors

dvdme avatar frostypatronus avatar irinaalexandra avatar maxwellgerber avatar oscarereyes avatar prodicus avatar tasdikrahman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tnote's Issues

Documentation missing

I just installed tnote. And started it.
Then it asks two questions :
Please enter your key
Please enter your passphrase

I guess the purpose of this is obvious for you, but it clearly deserves a clear explanation for anybody not being in your head :)

Database encrypted on install

I installed tnote correctly and when I start it, it says I have to enter my key and passphrase. That's cool but I don't know the credentials, as I just installed it.

I would like to use this wonderful piece of software, but I think I'm too dumb...

I would appreciate some help. Thank you.

Error View Notes

Hello,

At line 165 on tnote Python file.
if entries:
puts(colored.red("\nYour search had no results. Press enter to return to the main menu!"))

And it have to be:
if not entries:
puts(colored.red("\nYour search had no results. Press enter to return to the main menu!"))

My congratulations for your work. Bye!

IndexError: list index out of range

Steps to reproduce it

  • Delete all the notes present in the db
  • Choose the option to view a diary entry
  • this fails even when you are trying to search for a note when no notes are present there

"puts" syntax error line 140

I'm on Mac OS X, and after following all instructions (except putting the alias in /usr/local/bin instead) I'm getting the following error:

  File "/usr/local/bin/tnote", line 140
    puts(colored.green("="*(len(title_string)+33)))  
       ^  
SyntaxError: invalid syntax

Rendering it unusable. Not sure why...?

[ Feature Request ] Other View

Something like tags or some sort of list view. Something so you don't have to scroll through each one individually like that. I think that would make me ready to really give it a try. Thanks!

CTRL-D on macos exits

Trying to add a new entry with tnote

hit a to add new note
Title entry comes up,
I enter a title of
"test is a test"
then hit CTRL-D
tnote goes back to the main menu with no note added.

Looks like the title can't have a space character or it exits back to the main menu.

Cannot install on Pop Os

Hi, i cannot make it work on Pop Os 21.04. I download tnote and dependencies but when comes to create simlink it fails. Is it still maintained? I follow all instructions but it doesn't work.
I like the idea of simple note taking app. If it won't work for me i've already started writing similar app in java, no database tho, text file based.
Can you help?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.