From d4a53d0be3d00219e63a4b4cf4702a59d1c1039e Mon Sep 17 00:00:00 2001 From: dmarakom6 Date: Fri, 11 Dec 2020 11:27:59 +0200 Subject: [PATCH] Added latest release assets --- LICENSE | 121 +++++++++++++++++++++++++++++++++++++ README.md | 51 ++++++++++++++++ SECURITY.md | 17 ++++++ shellnotes.sh | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 352 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 SECURITY.md create mode 100644 shellnotes.sh diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/README.md b/README.md new file mode 100644 index 0000000..dada89d --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# shellnotes +A simple and easy way to keep notes via your linux terminal. + +# Basic Commands: + ## newnote: + Write a new note using gedit. +## quicknote: + Write a note directly from terminal. +## readnote: + Read a note from your text-editor. +## quickread: + Read a note directly from terminal. +## listnotes: + View a full list of notes from your notes folder. +## delnote: + Delete a note from your notes folder. +## shellnotes(-v,-r,-h or --help): + Information about shellnotes. + +# How to download + +-You can either download or clone this repository. + +# How to install +## step 1: + +-Place the file "shellnotes.sh" and "help" into your home folder. + +## step 2: + +-Rename the file and add a dot before its name. It should look like this: ".shellnotes.sh" and ".help" in the home folder. + +## step 3: + +-Open the terminal and type: +`chmod +x ~/.shellnotes.sh` + +## step 4: + +-Open any text editor you want. Select "Open file" from its menu (Usually top left) and navigate to your home folder. Then, press `Ctrl + H` in order to show all the hidden files and folders +in the home directory. Find a file called `.bashrc` and open it. (Different file for different shell) + +## step 5: + +-Go to the last line of the file you opened in step 4, and write: `source ~/.shellnotes.sh` in order to be able to use shellnotes every time you launch your terminal. + +# Warnings! + +*THIS SYSTEM IS MADE FOR BASH SHELL* (Change your shell if necessary.) + +*DON'T CHANGE THE SCRIPT* (Only in case you don't have the default editors who are gedit and nano. In that case, you can either change them, or install the default ones.) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..4c3e651 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,17 @@ +# Version support + +## Supported Versions of shellnotes + + + +| Version | Supported | +| ------- | ------------------ | +| 1.1.x | yes | +| 1.0.x | yes | +| 0.1.x | no | + + +## About updating + +Every new update is uploaded in the release page. +If you want to check your version, type "shellnotes -v" and check if the version is supported. diff --git a/shellnotes.sh b/shellnotes.sh new file mode 100644 index 0000000..2e54a32 --- /dev/null +++ b/shellnotes.sh @@ -0,0 +1,163 @@ +#!/bin/bash +#Change the first line if you don't use bash, in order for the code to work properly. +#Warning! If you don't have gedit(text editor) or nano installed, you may have to change the default text editor (lines 10, 25, 40). +#remember to write this line into your terminal +#chmod +x shellnotes.sh + + +#Make a Notes folder for the user +cd ~ +if [[ -d "Notes" ]]; then + exists=True; +else + mkdir Notes; +fi + + + +#opening a note (It will create a new note if $notename is blank) +function readnote() { +dir="$(pwd)"; +me="$(whoami)"; +read -p "Enter note name: " opennote; +cd ~/Notes; +if [ -e $opennote ]; then + gedit $opennote; + +else + clear; + echo "No such note."; + cd ~ + read -p "Do you want to create one?[Y/N]: " create; + +fi + if [ $create == "y" ] || [ $create == "Y" ] || [ $create == "yes" ] || [ $create == "YES" ] || [ $create == "Yes" ]; then + newnote + fi + +clear; +cd $dir + +} + +#Read notes instantly via terminal +function quickread() { + dir="$(pwd)"; + read -p "Enter note name: " quicknotename; + cd ~/Notes + if [ -e $quicknotename ]; then + clear; + cat $quicknotename + + else + clear; + echo "No such note."; + cd ~ + +fi + +cd $dir + +} + +#A quick solution to users who want keeping notes instantly via terminal. +function quicknote() { +dir="$(pwd)"; +me="$(whoami)"; +cd ~/Notes; +read -p "Enter note name: " notename; +if [ -e $notename ]; then + clear; + echo "This note already exists."; + cd .. + read -p "Do you want to read it?[Y/N]: " readquicknote; + +else + touch $notename; + nano $notename; + cd $dir; + clear; + echo "Note created in Home/$me/Notes"; + echo "-----------------------------------"; + +fi + +if [[ $readquicknote == "y" ]] || [[ $readquicknote == "Y" ]] || [[ $readquicknote == "yes" ]] || [[ $readquicknote == "YES" ]] || [[ $readquicknote == "Yes" ]]; then + clear; + cd ~/Notes + cat $notename; + cd $dir +fi +} + + +#writes notes using ubuntu's text-editor (gedit). +function newnote() { +dir="$(pwd)"; +cd ~/Notes; +me="$(whoami)"; +gedit; +clear; +cd $dir; +echo "Note created in Home/$me/Notes"; +echo "-----------------------------------"; +} + +#Delete notes from terminal +function delnote() { + dir="$(pwd)"; + cd ~/Notes + me="$(whoami)"; + read -p "Enter the name of the note you want to delete: " delete + if [ -e $delete ]; then + rm $delete + clear; + cd $dir; + echo "Note deleted from Home/$me/Notes"; + echo "-----------------------------------"; + else + echo "No such file." + cd ~; + fi + +} + +#list your notes via terminal. +function listnotes() { + if [ -z "$(ls -A ~/Notes)" ]; then + echo "Your Notes folder is empty." + else + ls ~/Notes -t + fi +} + +#Help for new users +function shellnotes() { + if [[ $1 == "-v" ]]; then + echo "Shellnotes version: 1.2" + + elif [[ $1 == "-r" ]]; then + echo "Github repository: https://github.com/dmarakom6/shellnotes/blob/master/" + + elif [[ $1 == "-h" ]]; then + less ~/.help; + cd $dir; + elif [[ $1 == "--help" ]]; then + less ~/.help; + cd $dir; + fi +} +#Take info about a note +function noteinfo() { + dir="$(pwd)" + cd ~/Notes + read -p "Enter note name: " notename; + if [ -e $notename ]; then + wc $notename; + echo "(lines/words/chars/name)" +else + echo "That note doesn't exist." +fi +cd $dir +} +