Giter VIP home page Giter VIP logo

please's Introduction

For updates, questions and more:

๐Ÿ™ Please - New Tab Page for your Terminal ๐Ÿ™

Get a beautifully formatted minimalistic new tab page with a greeting, date and time, inspirational quotes, your personal tasks and to-do list everytime you open the terminal with Please CLI.

Upgrade with pip3 install please-cli --upgrade

๐Ÿ“– Table of Contents

๐Ÿš€ Installation

Method 1:

  1. Make sure you have Python 3 installed on your computer.

  2. Open your terminal and paste the command below:

    pip install please-cli
    
    # If you get an error about 'pip not found', just replace pip with pip3.
  3. To run please everytime you open the terminal:

    # FOR BASH
    echo 'please' >> ~/.bashrc
    
    # FOR ZSH
    echo 'please' >> ~/.zshrc
    
    # FOR FISH
    set fish_greeting please

    Or if you prefer to run please once a day:

    # FOR BASH
    echo 'please daily' >> ~/.bashrc
    
    # FOR ZSH
    echo 'please daily' >> ~/.zshrc
    
    # FOR FISH
    set fish_greeting please daily
  4. That's it! Check if please command works in your terminal.

Method 2:

  1. Go to the releases section.

  2. Download the latest release WHL file.

  3. Open terminal and paste the command below:

    pip install --user ~/Downloads/please_cli*
    
    # If you get an error about 'pip not found', just replace pip with pip3.

    Change the path of the file if you downloaded it elsewhere.

  4. To run please everytime you open the terminal:

    # FOR BASH
    echo 'please' >> ~/.bashrc
    
    # FOR ZSH
    echo 'please' >> ~/.zshrc
    
    # FOR FISH
    set fish_greeting please
  5. That's it! Check if please command works in your terminal.

Having trouble with installation or have any ideas? Please create an issue ticket :)

๐Ÿš‘ Troubleshooting

Getting a command not found: please error? That means the Python modules installation folder is not in PATH. To fix this:

echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

and restart the terminal.

๐Ÿ‘จโ€๐Ÿ’ป Commands

Some of these commands may not be in the latest release.

# Show time, quotes and tasks
please

# Add a task
please add "TASK NAME"

# Delete a task
please delete <TASK NUMBER>

# Mark task as done
please do <TASK NUMBER>

# Edit task name
please edit <TASK NUMBER> <NEW NAME>

# Mark task as undone
please undo <TASK NUMBER>

# Show tasks even if all tasks are marked as done
please showtasks

# Move task to specified position
please move <OLD NUMBER> <NEW NUMBER>

# Toggle Time between 24 hours and 12 hours format
please changetimeformat

# Change your name
please callme "NAME"

# Delete all done tasks
please clean

# Reset all settings and tasks
please setup

๐Ÿงฐ Additional Optional Configuration

image

Remove Greeting in please's output

1.Navigate to ~/.config/please
2. Open config.json
3. Change "diable_greeting": false to "diable_greeting": true (All lowercase).

Remove Horizontal Line in please's output

1.Navigate to ~/.config/please
2. Open config.json
3. Change "diable_line": false to "diable_line": true (All lowercase).

Remove Quotes in please's output

1.Navigate to ~/.config/please
2. Open config.json
3. Change "diable_quotes": false to "diable_quotes": true (All lowercase).

๐Ÿ’ป Local Development

  1. To get started, first install poetry:
curl -sSL https://install.python-poetry.org | python3 -
  1. Clone this project
  2. cd to the project directory and run virtual environment:
poetry shell

# OR THIS, IF 'poetry shell' doesn't work

. "$(dirname $(poetry run which python))/activate"
  1. Install all dependencies:
poetry install
  • please will be available to use as a command in the virtual environment after using poetry install.
  1. Finally, run the python script with:
python please/please.py
  1. To build a WHL package:
poetry build
  • The package will be generated in dist folder, you can then use pip to install the WHL file.
  1. For Nayam: Publish the package with:
poetry publish -u <username> -p <password>

๐Ÿšฎ Uninstalling

Open your terminal and type:

pip uninstall please-cli

and also edit your .zshrc or .bashrc file and remove the line that says please at the end of the file.

โ™ฅ Credits

  • Thanks to @CodePleaseRun & @guedesfelipe for their contributions.
  • Thanks to @lukePeavey for the quotes.json file taken from quotable.io

Made by TGS963 and NayamAmarshe with โŒจ and ๐Ÿ–ฑ

please's People

Contributors

nayamamarshe avatar tgs963 avatar dankuri avatar codepleaserun avatar skrzym avatar guedesfelipe avatar anonymousasimov avatar mjpc13 avatar niksingh710 avatar chemdevv avatar jzaluska avatar theparadoxbox avatar

Watchers

 avatar

please's Issues

Make please show <command> possible

Right now if you want to see tasks you can do :

  • please to show any incomplete tasks stored in the tasks list in the config.json
  • please showtasks to show everything stored in the tasks list in the config.json
  • please showcompleted to show everything stored in the completed_tasks.json file
    • NOTE:please clean transfers completed tasks from config.json to completed_tasks.json as of #1

Please might be used to show more than just tasks. It might make sense to allow the command please to show more than just a quote and a tasklist, maybe it can in the future be customized to show the day's calendar and general stats? Regardless of what might be added I think making the command structure look a bit more like a sentence could be useful. #1 also added support for toggling configs with syntax like please toggle quotes

Generalized this could look like please <action> <thing> <--options>

I think it would make sense to build out the code to allow for commands like:

  • please show tasks --completed
  • please show tasks --archived
  • please show events
  • please show stats
  • please show <insert thing here>

AC
Plan deprecation of please showtasks and please show completed. Replace calls to them with calls to please show tasks and please show tasks --archived respectively.

Add options to move todo entries relative to the list or items in it

Right now you can essentially just swap the position of todo entries

please move 1 3 -> swaps the first and third entries in the tasks list


I would find it useful to do things like:

  • please move 5 top
  • please move 5 bottom
  • please move 5 above 2
  • please move 5 below 3
  • please move 5 up 1
  • please move 5 down 1

This will need to either explicitly or implicitly handle errors:

  1. please move 1 top -> impossible to move since 1 is already at the top
  2. When the list has x elements please move 1 below x+1 -> impossible to move explicitly where told but user might not care and just wants the item at the end of the list.

I'd say for now it should be built expecting rigid error handling and not assume anything for the user. Can always add "fuzzy" handling later.


AC: add relative move functionality so below commands are possible

  • please move 5 top
  • please move 5 bottom
  • please move 5 above 2
  • please move 5 below 3
  • please move 5 up 1
  • please move 5 down 1

Add calendar event viewing support

I'd like to be able to see a list of my meetings for the day.

Maybe even able to see future day's meetings.

Something like please showcalendar

Today's Calendar

Meeting Title Start Time End Time
Team Stand Up 9:30 AM 9:45 AM
Company All Hands 10:30 AM 11:30 AM
Jack 1 on 1 2:00 PM 3:00 PM
OOO 4:00 PM 5:00 PM

Might be useful to know how to plan tasks?

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.