diff --git a/README.md b/README.md new file mode 100644 index 0000000..1f4f9b8 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# Coding Tools +Tools that I wrote to help me code faster and more efficiently. +All of these require `python>=3.6`. + +## [Ucompile](ucompile) +Pronounced "you compile", stands for "University Compiler". It is a simple script that compiles and runs programs in one line. It also automatically takes all `.in` files in the directory and feeds them to the program. It is useful for competitive programming and for testing programs with multiple test cases. + +Currently supports: +- C (`.c`) +- Python (`.py`) (with Python 3 and PyPy3) +- Java (`.java`) +- Haskell (`.hs`) + +Optional arguments: +- `-o` checks the output of the program against the `.out` files in the directory +- `-v, --verbose` prints the output of the program +- `-a` uses an alternative compiler (e.g. `mvn` instead of `javac`) +- `-t, --tests` specifies a test case folder (default is `.`, the current directory) +- `-T, --time` prints the time taken to run the program + +The program is integrated with [temmies](https://github.com/Code-For-Groningen/temmies) for automatic [Themis](https://themis.housing.rug.nl/) submission. + +## [unifytex](unifytex) + +is a script designed to automate the process of generating separate LaTeX include files for `.tex` files in a directory, making it easier to manage large LaTeX projects. It recursively scans a specified directory and creates consolidated `.tex` files that include all the LaTeX files within each subdirectory. + +(EXAMPLE) If the directory structure is: +``` +/project + ├── section1 + │ ├── intro.tex + │ ├── methods.tex + ├── section2 + │ ├── results.tex + │ ├── discussion.tex +``` +Running: +```bash +python3 unifytex.py /project +``` +Will create: +``` +/project/consolidated + ├── section1.tex (contains \input{section1/intro.tex} and \input{section1/methods.tex}) + ├── section2.tex (contains \input{section2/results.tex} and \input{section2/discussion.tex}) +``` +This allows you to include an entire section in your main LaTeX document with: +```latex +\input{consolidated/section1.tex} +``` + +## [flatcher](flatcher) + +Flask + Catcher = Flatcher. A simple script that runs a Flask server and catches all requests to a specified port, detailing the request method, path, and headers. Useful for debugging and testing webhooks. + +> [!IMPORTANT] +> This script requires Flask to be installed. You can install it with `pip install Flask`. \ No newline at end of file