Gradually automate your procedures, one step at a time

Overview

Gradualist

Gradually automate your procedures, one step at a time

Inspired by https://blog.danslimmon.com/2019/07/15/

Features

Main Features

  • Converts a markdown file into interactive steps
  • Saves results into another markdown file
  • On 100% automated, saves results into a script file instead

Ancillary features

  • Sublists are marked like 1.1.3 (first step, first substep, third sub-substep)
  • Go back one step

Keywords

All keywords are case insensitive.

Starting keywords

Start steps with these words to use them. Using these words also makes it clearer what you want your user to do.

  1. Enter: store single line answer Synonyms that trigger: Type, Write

    1. Store {response} in variables like so.
    2. In steps after previous, {words} will be replaced whatever you entered.
    3. Input is entered on a single line
    4. Automatically triggered if there is a {variable}, even if a keyword isn't present
    5. If no curly braces around a variable, everything after 'Enter' becomes the variable name
  2. Describe: longform answer Synonyms that trigger: Explain

    1. Store multiline {response} in variables like so.
    2. In steps after previous, {response} will be replaced whatever you entered.
    3. If a {variable} isn't provided, words after Describe are the variable
    4. Type enter twice to signify the end of input
    5. Starting with a question word or including a ? will force a step to be a multiline answer
  3. Run: runs code Synonyms that trigger: Exec, Execute

    1. Run this inline echo shell script

      • Start the step with the word 'run', case insensitive
      • This will run in your shell, whichever that is for your OS.
    2. Run this multiline python script, starting the step with run.

      import webbrowser
      webbrowser.open("https://python.org")
      • Start the step with the keyord 'run', case insensitive
      • Code needs a code fence
      • Language suggestion is required
      • -I is an arg to python. Include as many options as you want.
      • If an output file is specified with curly braces, it will be saved in the working directory; otherwise a temporary file will be used.

  4. While: Loops until condition Synonyms that trigger: Loop

    • Format is 'While condition do task'
    • While condition, keep on doing it
  5. For: Loops over array

    • Format is 'For [el1, el2, ...], do task'
    • Example: "For ["blue", "orange", "yellow"], use {} marker in your drawing
    • Generates array-length tasks
  6. If: Conditional Synonym for else: Otherwise, elsewise Synonym for then: First comma

    • Format is 'if condition then task1 else task2'
    • Example: "if it's sunny, then I'll have a picnic else I'll read a book inside"
      • Variable its_sunny would get a value
  7. Click: Have the user click somewhere

    • This can be automated with clicking with x,y coordinates
    • Use the browser extension to select the element
  8. Select

    • Select from multiple options, usually in a dropdown
    • Use the browser extension to select the element
  9. Open: Open a file or URL

    • If opening a URL, default browser will be used
    • Include the words 'with program' to specify which program to open it with (i.e. firefox instead of chrome)
    • Include the word 'new' to create a new one if one doesn't exist
  10. Import filepath:task list

    • Include a separate markdown procedure as a sublist of the current task
  11. Anything Else

    • The point of this is to be as compatible with as many procedures as possible, so don't require keywords
    • There won't be any suggestions for automation

On 100% automated, saves results into a script file instead

Anywhere keywords

  • Personal: Input is entered with no visible output like a password (i.e. Enter your personal password)

Defaults

  • Saved files have tasks with
    • Timestamp of when tasks were completed
    • How long tasks took
    • Whether tasks were completed, skipped, or not done

Todo

Shortterm

  • Separate logic for input, output, and processing
  • Logic
    • loops until step complete
    • if/then statements
    • Set script variables like timeout, or autofinish after a certain time
  • Configuration in a yaml file

Longterm

  • How will this interact with mdx?
  • How would you reference other documents (i.e. imports)
  • Migrate to rust
Owner
Ross Jacobs
Herder of 1s and 0s
Ross Jacobs
Random Number Generator

Application for generating a random number.

Michael J Bailey 1 Oct 12, 2021
Small project to interact with python, C, HTML, JavaScript, PHP.

Micro Hidroponic Small project to interact with python, C, HTML, JavaScript, PHP. Table of Contents General Info Technologies Used Screenshots Usage P

Filipe Martins 1 Nov 10, 2021
A python module to manipulate XCode projects

This module can read, modify, and write a .pbxproj file from an Xcode 4+ projects. The file is usually called project.pbxproj and can be found inside the .xcodeproj bundle. Because some task cannot b

Ignacio Calderon 1.1k Jan 02, 2023
✨ Un bot Twitter totalement fait en Python par moi, et en français.

Twitter Bot ❗ Un bot Twitter totalement fait en Python par moi, et en français. Il faut remplacer auth = tweepy.OAuthHandler(consumer_key, consumer_se

MrGabin 3 Jun 06, 2021
Script for generating Hearthstone card spoilers & checklists

This is a script for generating text spoilers and set checklists for Hearthstone. Installation & Running Python 3.6 or higher is required. Copy/clone

John T. Wodder II 1 Oct 11, 2022
Make some improvements in the Pizza class and pizzashop file by refactoring.

Make some improvements in the Pizza class and pizzashop file by refactoring.

James Brucker 1 Oct 18, 2021
Display your calendar on the wallpaper.

wallCal Have your calendar appear as the wallpaper. disclaimer Use at your own risk. Don't blame me if you miss a meeting :-) Some parts of the script

7 Jun 14, 2022
Format Norminette Output!

Format Norminette Output!

7 Apr 19, 2022
glip is a module for retrieve ip address like local-ip, global-ip, external-ip as string.

gle_ip_info glip is a module for retrieve ip address like local-ip, global-ip, external-ip as string.

Fatin Shadab 3 Nov 21, 2021
✨ Un générateur de mot de passe aléatoire totalement fait en Python par moi, et en français.

Password Generator ❗ Un générateur de mot de passe aléatoire totalement fait en Python par moi, et en français. 🔮 Grâce a une au module random et str

MrGabin 3 Jul 29, 2021
Extends the pyranges module with operations on joined genomic intervals

tiedpyranges Extends the pyranges module with operations on joined genomic intervals (e.g. exons of same transcript) Install with: pip install tiedpyr

Marco Mariotti 4 Aug 05, 2022
Abby's Left Hand Modifiers Dictionary

Abby's Left Hand Modifiers Dictionary Design This dictionary is inspired by and

12 Dec 08, 2022
Library for processing molecules and reactions in python way

Chython [ˈkʌɪθ(ə)n] Library for processing molecules and reactions in python way. Features: Read/write/convert formats: MDL .RDF (.RXN) and .SDF (.MOL

16 Dec 01, 2022
The producer-consumer problem implemented with threads in Python

This was developed using a Python virtual environment, I would strongly recommend to do the same if you want to clone this repository. How to run this

Omar Beltran 1 Oct 30, 2021
DUQ is a python package for working with physical Dimensions, Units, and Quantities.

DUQ is a python package for working with physical Dimensions, Units, and Quantities.

2 Nov 02, 2022
Astvuln is a simple AST scanner which recursively scans a directory, parses each file as AST and runs specified method.

Astvuln Astvuln is a simple AST scanner which recursively scans a directory, parses each file as AST and runs specified method. Some search methods ar

Bitstamp Security 7 May 29, 2022
A primitive Python wrapper around the Gromacs tools.

README: GromacsWrapper A primitive Python wrapper around the Gromacs tools. The library is tested with GROMACS 4.6.5, 2018.x, 2019.x, 2020.x, and 2021

Becksteinlab 140 Dec 28, 2022
MicroMIUI - Script to optimize miui and not only

MicroMIUI - Script to optimize miui and not only

Groiznyi-Studio 1 Nov 02, 2021
A toolkit for writing and executing automation scripts for Final Fantasy XIV

XIV Scripter This is a tool for scripting out series of actions in FFXIV. It allows for custom actions to be defined in config.yaml as well as custom

Jacob Beel 1 Dec 09, 2021
A small python tool to get relevant values from SRI invoices

SriInvoiceProcessing A small python tool to get relevant values from SRI invoices Some useful info to run the tool Login into your SRI account and ret

Wladymir Brborich 2 Jan 07, 2022