system docs

This commit is contained in:
dmarakom6 2021-03-31 13:45:36 +03:00
parent ceeebe7d85
commit 76d6285b2f
9 changed files with 180 additions and 0 deletions

9
docs/system/errors.txt Normal file
View file

@ -0,0 +1,9 @@
errors
======
Logged errors:
Some errors are logged into .shellnotes/logs/ which you can check with "shellnotes -l".
These are usually errors that occur during processes, like installing, uninstalling, updating,
enabling or disabling, failing to set defaults etc.
Other errors usually have an explanation or a solution.

View file

@ -0,0 +1,17 @@
file organization
=================
Files the user can run manually are located in ~/.shellnotes/ after the installation. These files are:
-update.sh and bash_update.sh -> Updating shellnotes
-install.sh -> Reinstalling shellnotes
-uninstall.sh -> Uninstalling or disabling shellnotes
-set_defaults.sh -> Set default note editors & folder
-.shellnotes.sh -> Running shellnotes (main file)
Other folders and their content:
-util: all the commands used in ~/.shellnotes/.shellnotes.sh, as well as all its subfolders.
-def: default note editors and folders used in configuration tool.
-logs: Logfiles for failed updates, installations etc.
-ver: Current shellnotes version
-docs: Documentation
-image: .jpg and .png files used for README

10
docs/system/hidden.txt Normal file
View file

@ -0,0 +1,10 @@
hidden commands
===============
Most shellnotes' commands are known, and shown in commands.txt, but some scripts contain hidden
commands as well. These scripts are hidden files and can be found in .shellnotes/util/.hidden/.
They are hidden mainly because shellnotes does not want the user to use them on a daily basis. This
is because they stop or start extra processes, clear logfiles, or change valuable information and
data in the source path. The user can always refer to these commands, but only when necessary.
Otherwise, it is not recommended to use them.

43
docs/system/imports.txt Normal file
View file

@ -0,0 +1,43 @@
shellnotes imports rule
=======================
The main script for running shellnotes is .shellnotes.sh found in ~/.shellnotes/.shellnotes.sh after
the installation. This file contains the user's default shell, found during the installation
proccess, as well as all the imports needed for the program to work. The imports consist of:
1. Commands (most of the files found in /util)
2. Scripts run every time the terminal is launched (i.e. Version getter (getv))
3. The shellnotes command with all of its parameters (file found in /util/shellnotes.sh, params
in subfolders of util/)
4. Syntax scripts (Comments including used syntax in scripts)
5. "Hidden" commands (files containing a (.) in /util, actions for cleaning space etc.)
In the .shellnotes.sh file, the imports are ordered like this:
#user's shell
#Warnings
#Warnings
scripts run every time the terminal is launched
utility scripts (commands) found in ~/.shellnotes/util/
. ~/.shellnotes/util/shellnotes.sh -> The shellnotes command, which imports all its parameters
Hidden commands (i.e. clearlogs, run only when necessary)
syntax scripts (hidden in /util)
And the scripts called usually import other scripts, like /util/shellnotes.sh with its parameters:
/util/h/h.sh //help
/util/u/u.sh //update
/util/v/v.sh //version
/util/r/r.sh //repo
/util/sd/sd.sh //set or view defaults

View file

@ -0,0 +1,46 @@
shellnotes logging system
=========================
The shellnotes logging system consists of .cpp (C++) files, that are compiled and run
if an error occurs when updating, installing or setting default editors and folders for your notes.
Errors that might occur:
update.sh / bash_update.sh:
-Shellnotes is not installed
-Shellnotes is up-to-date
-There is no internet connection
install.sh:
-Shellnotes is already installed
-A file in the downloaded source code is broken
-The system doesn't meet the requirements (requirements.txt)
-The user's shell is not supported
shellnotes -sd / shellnotes --set-defaults / set_defaults.sh:
-The path given is not valid
-The default editor or folder is already the default
uninstall.sh:
-Shellnotes is not installed
-A file in the downloaded source code is broken
-Shellnotes is disabled
uninstall.sh (disabling option 2):
-Shellnotes is already disabled
-Shellnotes is uninstalled
uninstall.sh (enabling option 3):
-Shellnotes is already enabled
-Shellnotes is uninstalled
If any of the above errors occur in runtime, the matching .cpp file found in ~/.shellnotes/util/failed/
write a report of the error containing the type of error and the date in the matching logfiles found in ~/.shellnotes/logs/.
Opening the logfiles:
-Do NOT open the files manually using any text editor. Use "shellnotes --logs" to select a logfile and check it.
Logfiles and content:
~/.shellnotes/logs/disfailed.txt - failed attempt to disable shellnotes.
~/.shellnotes/logs/enfailed.txt - failed attempt to enable shellnotes.
~/.shellnotes/logs/ifailed.txt - failed attempt to install shellnotes (might fail to log).
~/.shellnotes/logs/uninfailed.txt - failed attempt to uninstall shellnotes.
~/.shellnotes/logs/ufailed.txt - failed attempt to update shellnotes.
Clearing all the logfiles:
-There is a hidden function called "clearlogs" in the /util directory. When run, it clears all the content from all logfiles. This can be useful for saving space on the disk. It can be run by writing "clearlogs" in the terminal.

8
docs/system/manpages.txt Normal file
View file

@ -0,0 +1,8 @@
shellnotes manpages
===================
Just like most shell scripts, shellnotes contains its own manpages, which can be viewed by running
"man <command>" in the terminal. Upon installation, shellnotes moves its manpages from docs/manpages/ to the default man page path, in other words, the path where "man" searches for manpages.
All commands are manual entries and you can view them with man (i.e. man newnote).
You can also do "man shellnotes".

View file

@ -0,0 +1,20 @@
requirements for shellnotes
===========================
Software requirements:
-OS: Any linux distro (64 bit)
-Shell: Bash(recommended), Zsh, Ksh, Csh or Fish
-Kernel: Linux v5.3 or later
-Qt version 11 and later
-wget
-curl
-git
-Python 3.5 or later
-GNU g++ compiler for c++ v.9.3.0 or later
-Solid Internet Connection required for updating (at least 5mbps)
Hardware requirements (Minimum):
-Processor : Intel® Core™ i3-L13G4
-RAM : 700 MB
-HDD/SSD : 500 MB free space

21
docs/system/reset.txt Normal file
View file

@ -0,0 +1,21 @@
reset shellnotes
================
"resetshellnotes" is a hidden command, that erases all the memory from the program.
This includes:
-Default files and folder, sets them to gedit, nano, "~/Notes", which are the defaults after installation
-User data
-Logfiles
-Source files used for several functions
-Built-in libraries used for the above functions
Your Notes folder will change to ~/Notes, but your notes WILL NOT be removed.
They will be safely transfered there.
This command is made mostly for the program's testers. After testing a new release,
They must clear their data from the program's source files, in order to push them to the
repository.
This command should be used ONLY WHEN NECESSARY, just like all other hidden commands.
If your notes have disappeared, or you cant find the displayed note folder, use this command to
reset everything to its normal state.

6
docs/system/syntax.txt Normal file
View file

@ -0,0 +1,6 @@
syntax files
============
Syntax files can be found in .shellnotes/util/syntax/. These files may be imported to the main
script, but not make any change in the user's experience. They are just simple shell scripts that
contain commented-out code, that is used in most /util/ scripts. They are used only by the author,in case he wants to refer to some old code that he had re-used in the past. Don't mind him.